Я пытаюсь переместить 3 элемента управления среди 3-х таблеток, когда пользователь выбирает другую вкладку. Это элемент управления toolsrtip, элемент управления richtextbox и элемент управления combobox.Перемещение элементов управления среди табуретов
В richtextbox и combobox будут назначены новые значения для некоторых из их свойств в зависимости от выбранной вкладки, панель инструментов должна быть одинаковой, но ее методы (это типичная панель управления стилями шрифта) должны влиять на richtextbox, который является видимый только на текущей закладке.
Теперь, поскольку изменение отображаемого значения выпадающего списка также означает, что richtextbox на текущей вкладке будет оценивать новое значение для его текстового свойства, я не хотел создавать как 3 comboboxes и 50 richtextboxes для каждого случая , Я хочу создать только один набор из них и сохранить их значения в некотором типе коллекции строк до того, как в результате использования произойдет событие, которое либо изменит отображаемый элемент со списком, либо изменит вкладку.
Не сделав это, прежде чем я прочитал эту http://www.vbforums.com/showthread.php?478602-2005-Move-controls-From-One-Tab-Page-To-Another, которые предлагают создать элемент управления для его случая, который, кажется абсурдным мне ...
Моя нынешняя ситуация такова, что у меня есть элементы управления, отображающие на tabpage1 через дизайнера а потом я пытался что-то вроде этого
Private Sub TabPage_Enter(sender As Object, e As EventArgs) Handles TabPage1.Enter, TabPage2.Enter, TabPage3.Enter
Select Case DirectCast(sender, TabPage).Name
Case "Tabpage1"
TabPage1.Controls.Add(RichTextBox1)
TabPage1.Controls.Add(ToolStrip1)
TabPage1.Controls.Add(ComboBox1)
Case "TabPage2"
TabPage2.Controls.Add(RichTextBox1)
TabPage2.Controls.Add(ToolStrip1)
TabPage2.Controls.Add(ComboBox1)
Case "TabPage3"
TabPage3.Controls.Add(RichTextBox1)
TabPage3.Controls.Add(ToolStrip1)
TabPage3.Controls.Add(ComboBox1)
End Select
End Sub
Теперь при смене вкладок, элементы управления отображаются на tabpage2 и tabpage3 но tabpage1 остается пустым. Я попытался сделать это при событии нагрузки формы
TabPage1.Controls.Add(RichTextBox1)
TabPage1.Controls.Add(ToolStrip1)
TabPage1.Controls.Add(ComboBox1)
, но все еще tabpage1 остается пустым, когда возвращается к его просмотру. Я не уверен, что я хочу сделать, но я понимаю, что для этого подхода я вообще не должен использовать конструктор и вместо этого создаю элементы управления только в области обработки и размера кода. Пожалуйста, совет, если есть «правильный» способ сделать это, главным образом для того, чтобы держать код коротким и аккуратным. ТИА.
ps.As я писал это я понял, что я мог бы создать только три из каждого элемента управления в дизайнере для каждой вкладки, а затем обработать изменение combobox с набором строк, который я имел в виду. Кажется разумным, но я все еще хочу знать об этом, поэтому я все еще задаю этот вопрос.
В случае, если «Tabpage1» имеет прописную букву «P» в вашем случае, в соответствии с вашим именем TabPage1? –
Это было хорошо замечено, я искал опечатку, но поскольку я сосредоточился на сортировочном номере 1,2,3, я не заметил: D – kokotas
Итак, очевидно, что элементы управления отображаются на первой вкладке (черт возьми, я проверил 3 раз, прежде чем делать это сообщение, и я не заметил опечатку): P Но мне интересно, что именно происходит, когда я добавляю элемент управления на вкладке, каждый раз, когда срабатывает событие ввода? Это способ сделать это? Думаю, я узнаю, пока я продвигаюсь с моим кодом. Но если есть лучший способ, добавьте его в качестве ответа или ответьте информативным сообщением о том, что происходит при непрерывном добавлении элемента управления. TIA – kokotas