У меня есть форма с кнопкой, которая реплицирует содержимое (элементы управления пользователя) второй вкладки с помощью пользовательского элемента управления (то есть: добавление нового набора текстовых полей, таких как адрес 2, 3 и т. Д.). До сих пор мне удалось добавить вкладку и создать экземпляр пользовательского элемента управления на вновь созданной закладке, но я не знаю, как я могу получить доступ к данным с каждой недавно созданной вкладки с помощью пользовательского элемента управления. Я думаю, что мне нужно объявить каждый новый экземпляр DetailTab (класс, содержащий элемент управления Details), но я не уверен. Я не программист по профессии, поэтому было бы по-настоящему оценено элементарное объяснение.Доступ к данным из экземпляра пользовательского элемента управления на вкладке?
Public Class KMCProfile 'Class with the actual UI
Private Sub AddDetails_Click(sender As Object, e As EventArgs) Handles AddDetails.Click
KMC.TabPages.Add(New DetailTab)
KMC.TabPages(tabCount).Name = "KMCDetails" & tabCount
KMC.TabPages(tabCount).Text = "KMC Details (" & tabCount & ")"
KMC.SelectedTab = KMC.TabPages(tabCount)
tabCount += 1
If tabCount = 5 Then
AddDetails.Enabled = False
End If
End Sub
End Class
Public Class DetailTab
Inherits TabPage
Public Sub New()
Controls.Add(New Details)
End Sub
End Class
Public Class Details ' The User Control Class
Public Property ISO1 as String
...
Public Property ISO40 as String
Public Sub FetchData()
ISO1 = txtISO1.text
...
ISO40 = txtISO40.text
End Sub
End Class
Это на самом деле не в каждой из страниц вкладок, подумайте об этом так: Tab 2 содержит поля Address 1. Если пользователь нажимает кнопку «Добавить адрес», он добавляет новую вкладку с элементами управления пользователя. На самом деле, это не так просто, как есть 40 элементов управления, где мне нужно получить данные из пользовательского элемента управления. Есть ли в любом случае, что я могу получить значения свойств из экземпляра пользовательского элемента управления? Или есть лучший способ сделать это? –
Я вижу, тогда страница может содержать один из ваших пользовательских элементов управления или нет. Проблема может быть решена с использованием расширения OfType https://msdn.microsoft.com/en-us/library/bb360913(v=vs.110).aspx – Steve