Использование C # WinForms Designer на панели вместо формы? - PullRequest
4 голосов
/ 16 марта 2009

Предупреждение: я новичок в построении графического интерфейса на C # (из долгой истории на Java с Swing и SWT.)

Использование VS2008, когда я создаю новый класс и расширяю System.Windows.Forms.Form, WinForms Designer работает очень хорошо. Тем не мение; когда я создаю новый класс и расширяю System.Windows.Forms.Panel, конструктор работает не так элегантно - он просто показывает какое-то абстрактное представление в виде списка компонентов, содержащихся в Panel (в отличие от отображения фактического макета Управление в панели.)

Есть ли способ заставить дизайнера работать с Panel лучше?

Или есть какой-то обходной путь, чтобы я мог создать форму с конструктором, а затем использовать ее, как если бы это была только панель?

Что мне действительно нужно, так это какой-то «элемент» пользовательского интерфейса, который я могу построить с помощью дизайнера, а затем динамически (читай: программно) добавить / удалить этот «элемент» в более крупный пользовательский интерфейс.

1 Ответ

14 голосов
/ 16 марта 2009

Я думаю, что вы ищете UserControl . Вы можете наследовать непосредственно от этого, и вы должны быть в состоянии использовать конструктор для перетаскивания объектов на него.

Чтобы сделать это еще проще, вы можете просто щелкнуть правой кнопкой мыши на вашем проекте и выбрать Добавить -> Контроль пользователя. Это создаст для вас файл .cs, а также частичный файл .cs для созданного дизайнером кода.

...