Ich steht gerade auf dem Schlauch.
Ich habe ein TabControl (tabctl) mit vielen TabPages.
4 von diesen TabPages heißen "tabpg_SPIHubCH1", "tabpg_SPIHubCH2" "tabpg_SPIHubCH3" und "tabpg_SPIHubCH4".
Auf jeder dieser besagten TabPages ist ein UserControl vom Typ uc_SPI_SandBox.
Die Namen dieser UserControls korrelieren mit den Namen der TabPage im Hinblick auf die Ziffer am Ende des Namenstrings.
Also auf "tabpg_SPIHubCH1" befindet sich "UserControl_SPI_SandBox1" usw.
Das UserControl hat eine Property.
Ich bediene per For..Next-Schleife und DirectCast diese Property.
Das muss doch simpler zu lösen sein. Schließlich kenne ich die Namen der TabPages und der UserControls.
Also irgendwie mit DirectCast auf die TabPage mittels Name, verschachtelt mit DirectCast auf das UserControl mittels Name.
Ich habe jetzt schon alles Möglich probiert und drehe mich im Kreis.
Nachfolgedes liefert mit "Wert von Typ "String" kann nicht in "uc_SPI_SandBox" konvertiert werden.
Wo liegt mein Denk- oder Klammerfehler?
Ich habe ein TabControl (tabctl) mit vielen TabPages.
4 von diesen TabPages heißen "tabpg_SPIHubCH1", "tabpg_SPIHubCH2" "tabpg_SPIHubCH3" und "tabpg_SPIHubCH4".
Auf jeder dieser besagten TabPages ist ein UserControl vom Typ uc_SPI_SandBox.
Die Namen dieser UserControls korrelieren mit den Namen der TabPage im Hinblick auf die Ziffer am Ende des Namenstrings.
Also auf "tabpg_SPIHubCH1" befindet sich "UserControl_SPI_SandBox1" usw.
Das UserControl hat eine Property.
Ich bediene per For..Next-Schleife und DirectCast diese Property.
VB.NET-Quellcode
- For _i As Integer = 1 To 4
- For Each _tc In Me.Controls.OfType(Of TabControl)()
- For Each _tp As TabPage In _tc.Controls.OfType(Of TabPage)()
- If _tp.Name = "tabpg_SPIHubCH" & _i.ToString("0") Then
- DirectCast(_tp.Controls("UserControl_SPI_SandBox_" & _i.ToString("0")), uc_SPI_SandBox).pProperty = True
- End If
- Next _tp
- Next _tc
- Next _i
Das muss doch simpler zu lösen sein. Schließlich kenne ich die Namen der TabPages und der UserControls.
Also irgendwie mit DirectCast auf die TabPage mittels Name, verschachtelt mit DirectCast auf das UserControl mittels Name.
Ich habe jetzt schon alles Möglich probiert und drehe mich im Kreis.
Nachfolgedes liefert mit "Wert von Typ "String" kann nicht in "uc_SPI_SandBox" konvertiert werden.
Wo liegt mein Denk- oder Klammerfehler?
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „roepke“ ()