Как можно программно установить элемент управления, показанный в ячейке панели макета таблицы?(приложение Windows Forms) - PullRequest
1 голос
/ 04 января 2012

Я пишу приложение Windows Forms в Visual Studio 2010 (с использованием VB). Я хочу изменить элемент управления, показанный в определенной ячейке панели макета таблицы во время выполнения. Вот так ...

If radiobutton1.checked then tablelayoutpanel1's cell 1,1 shows panelOne 
else tablelayoutpanel1's cell 1,1 shows panelTwo 

Возможно ли это?

Ответы [ 2 ]

1 голос
/ 04 января 2012

Возьмите два текстовых поля и вместо удаления Textbox1 в Else используйте TableLayoutPanel1.Controls.Add(TextBox2, 1, 1), который, как я полагаю, является панелью два, которую вы хотите поместить.

С уважением,

1 голос
/ 04 января 2012

Несколько способов сделать это.

Поместите панели 1 и 2 в сторону новой панели 3, поместите ее на панель раскладки таблиц, затем выполните свою логику оттуда. Таким образом, вам не нужно ни где, ни, возможно, даже если это находится на панели раскладки таблиц.

Другим способом, который может иметь смысл, было бы создание собственного пользовательского элемента управления, который инкапсулирует поведение панели1 и 2 со свойством, которое вы устанавливаете из обработчика событий ...

Не видите, как будет работать идея удаления, если только вы не можете иметь текстовое поле только один раз на всей панели?

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