.NET: Как преобразовать форму Windows в элемент управления Windows - PullRequest
19 голосов
/ 01 апреля 2009

У меня есть форма Windows .NET 3.5, которую я хотел бы встроить в другую форму. Есть ли быстрый способ превратить эту форму в элемент управления?

Спасибо

Ответы [ 4 ]

37 голосов
/ 01 апреля 2009

Измените форму для наследования от UserControl вместо Form, затем исправьте все ошибки компиляции.

8 голосов
/ 01 апреля 2009

Есть также способ встроить форму в элемент управления: вот код в VB:

Public Shared Sub ShowFormInControl(ByRef ctl As Control, ByRef frm As Form)
    If ctl IsNot Nothing AndAlso frm IsNot Nothing Then
        frm.TopLevel = False
        frm.FormBorderStyle = FormBorderStyle.None
        frm.Dock = DockStyle.Fill
        frm.Visible = True
        ctl.Controls.Add(frm)
    End If
End Sub

Я думаю, что я получил этот код из другого поста на SO, но я не могу вспомнить где, извините, если это ваш фрагмент кода!

0 голосов
/ 07 июня 2016

Я использовал решение @Neil Barnwell с дополнением. Я вручную отредактировал файл .vbprog и изменил «SubType» формы на «UserControl»:

<SubType>UserControl</SubType>

Это позволяет значку в проводнике проекта отображаться как пользовательский элемент управления, а не как форма.

0 голосов
/ 24 июня 2009

Не говорю, что вы должны сделать это сейчас, но в будущем вы можете взглянуть на MEF . Это фреймворк (помимо прочего) для создания составных приложений, который, на ваш взгляд, может быть тем, чего вы пытаетесь достичь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...