Если вы действительно хотите изменить ответ, вы можете использовать net package of golang и реализовать свой собственный HTTP-подобный протокол вместо net / http.
Я предпочитаю управление ветвями перед управлением тайниками:
Создайте пользовательский элемент управления, содержащий логику, которую вы хотите воспроизвести, а затем внедрите новый пользовательский элемент управления в обоих местах.
Как это для отображения экземпляра FormA внутри панели на FormB? UserControl, вероятно, лучший вариант, но то, что вы просили, возможно.
fa = new FormA();
fa.TopLevel = false;
fa.FormBorderStyle = FormBorderStyle.None;
fa.Dock = DockStyle.Fill;
fb = new FormB();
fb.panel1.Controls.Add(fa); // if panel1 was public
fa.Show();
fb.Show();
Я бы посоветовал определить панель, которую вы хотите повторно использовать, как отдельный класс и поместить его в обе формы. Если вам нужно, чтобы отображаемые данные также были одинаковыми, выполните привязку к бизнес-объекту, который может передаваться между формами.
В зависимости от размера и масштаба вашего приложения, вы можете рассмотреть (бесплатный) Composite UI Application Block
Из рекламного объявления:
Он предоставляет проверенные методы строить сложные пользовательские интерфейсы смарт-клиентов на основе хорошо известных шаблонов проектирования например, составной узор в какие простые части пользовательского интерфейса могут объединяться для создания сложных решения, но в то же время позволяя этим частям быть независимо разработаны, протестированы и развернуто.