Hallo liebe Leute
,
ich habe ein Problem mit dem Hinzufügen von dynamisch erstellten (Radio-) OptionButtons zu einer dynamisch erstellten GroupBox.
Wenn ich nur:
ausführe wird ein RadioButton (Holz) hinzugefügt.
Wenn ich nur:
ausführe wird ein RadioButton (Aluminium) hinzugefügt.
Führe ich beide Zeilen aus:
bzw versuche ich alle 5 RadioButtons hinzuzufügen (so wie sie im Array RadioNames stehen) wird kein einziger Button hinzugefügt
Könnt Ihr mir da weiterhelfen?
Hier der Code:
Form_Load
ControlService.vb
Ich habe auch zur besseren Prüfung der kompletten Source angehängt!
Vielen Dank für Eure Mühe und Hilfe
Best Regards,
Duster

ich habe ein Problem mit dem Hinzufügen von dynamisch erstellten (Radio-) OptionButtons zu einer dynamisch erstellten GroupBox.
Wenn ich nur:
ausführe wird ein RadioButton (Holz) hinzugefügt.
Wenn ich nur:
ausführe wird ein RadioButton (Aluminium) hinzugefügt.
Führe ich beide Zeilen aus:
bzw versuche ich alle 5 RadioButtons hinzuzufügen (so wie sie im Array RadioNames stehen) wird kein einziger Button hinzugefügt

Könnt Ihr mir da weiterhelfen?
Hier der Code:
Form_Load
VB.NET-Quellcode
- Option Strict On
- Public Class Form1
- Dim Ctrl As ControlService = New ControlService
- Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- Dim RadioNames(0 To 4) As String
- RadioNames(0) = "Holz"
- RadioNames(1) = "Aluminium"
- RadioNames(2) = "Glas"
- RadioNames(3) = "Eisen"
- RadioNames(4) = "Blei"
- Dim CtrlArr(0 To 20) As Control
- CtrlArr(0) = Ctrl.SetButton("CmdFunction", "Function", 350, 100, 30, 100)
- CtrlArr(1) = Ctrl.SetButton("CmdSub", "Sub", 350, 180, 30, 100)
- CtrlArr(2) = Ctrl.SetButton("CmdSubByRef", "Sub (ByRef)", 325, 260, 30, 150)
- CtrlArr(3) = Ctrl.SetTextBox("TxtDurchmesser", " ", 20, 55, 80, 180, True)
- CtrlArr(4) = Ctrl.SetTextBox("TxtErgebnisFunction", " ", 600, 100, 80, 200, False)
- CtrlArr(5) = Ctrl.SetTextBox("TxtErgebnisSub", " ", 600, 180, 80, 200, False)
- CtrlArr(6) = Ctrl.SetTextBox("TxtErgebnisSubByRef", " ", 600, 260, 80, 200, False)
- CtrlArr(8) = Ctrl.SetRadioButton("Rdo" & String.Concat(RadioNames(0)), RadioNames(0), 50, 120, 40, 80, CtrlArr(14))
- CtrlArr(9) = Ctrl.SetRadioButton("Rdo" & String.Concat(RadioNames(1)), RadioNames(1), 50, 130, 40, 80, CtrlArr(14))
- CtrlArr(14) = Ctrl.SetGroupBox("GrpMaterial", "Material", 20, 100, 280, 150, 1, CtrlArr(8))
- 'CtrlArr(14) = Ctrl.SetGroupBox("GrpMaterial", "Material", 20, 100, 280, 150, 1, CtrlArr(9))
- For Each i As Control In CtrlArr
- Me.Controls.Add(i)
- Next
- End Sub
- End Class
ControlService.vb
VB.NET-Quellcode
- Imports System.ComponentModel
- Imports System.Windows.Forms.Control
- Public Class ControlService
- #Region "BUTTON"
- Public Function SetButton(pName As String, pText As String, pLeft As Integer, pTop As Integer,
- pHeight As Integer, pWidth As Integer) As Control
- Dim CmdButton = New Button
- With CmdButton
- .Name = pName
- .Text = pText
- .Left = pLeft
- .Top = pTop
- .Height = pHeight
- .Width = pWidth
- End With
- 'AddHandler CmdButton.Click, AddressOf CmdButton_Click
- Return CmdButton
- End Function
- #End Region
- #Region "TEXTBOX"
- Public Function SetTextBox(pName As String, pText As String, pLeft As Integer, pTop As Integer,
- pHeight As Integer, pWidth As Integer, pEnabled As Boolean) As Control
- Dim TxtBox = New TextBox
- With TxtBox
- .Name = pName
- .Text = pText
- .Left = pLeft
- .Top = pTop
- .Height = pHeight
- .Width = pWidth
- .Enabled = pEnabled
- End With
- Return TxtBox
- End Function
- #End Region
- #Region "GROUPBOX"
- Public Function SetGroupBox(pName As String, pText As String, pLeft As Integer, pTop As Integer,
- pHeight As Integer, pWidth As Integer, pBorderSyle As Integer, pControl As Control) As Control
- Dim GrpBox = New GroupBox
- With GrpBox
- .Parent = Form1
- .Name = pName
- .Text = pText
- .Left = pLeft
- .Top = pTop
- .Height = pHeight
- .Width = pWidth
- .Controls.Add(pControl)
- End With
- Return GrpBox
- End Function
- #End Region
- #Region "LABEL"
- Public Function SetLabel(pName As String, pText As String, pLeft As Integer, pTop As Integer,
- pHeight As Integer, pWidth As Integer) As Control
- Dim LblField = New Label
- With LblField
- .Name = pName
- .Text = pText
- .Left = pLeft
- .Top = pTop
- .Height = pHeight
- .Width = pWidth
- End With
- Return LblField
- End Function
- #End Region
- #Region "RADIOBUTTON"
- Public Function SetRadioButton(pName As String, pText As String, pLeft As Integer, pTop As Integer,
- pHeight As Integer, pWidth As Integer, pParent As Control) As Control
- Dim RdoButton = New RadioButton
- With RdoButton
- .Parent = pParent
- .Name = pName
- .Text = pText
- .Left = pLeft
- .Top = pTop
- .Height = pHeight
- .Width = pWidth
- End With
- Return RdoButton
- End Function
- #End Region
- #Region "EVENTS"
- Sub CmdButton_Click(ByVal sender As Object, ByVal e As System.EventArgs)
- 'Form1.TxtBox.Text = "Test"
- End Sub
- #End Region
- End Class
Ich habe auch zur besseren Prüfung der kompletten Source angehängt!
Vielen Dank für Eure Mühe und Hilfe

Best Regards,
Duster