Windows 窗体,VS 2012,VB.NET
我尝试了一些代码,但不知何故,dang 文本框没有放在面板内,我只能假设我实际上并没有将它们放在面板内,任何人都可以给我一些代码来解决我的问题吗?
示例代码:
For Each name As String In li
Dim Answer As String() = AnsStrPerItem(i).Split(",")
'addField(NameOfPanel,Width,Height,LocationX,LocationY,color White=white else gray)
'addPanel("Panel" & i.ToString, 1100, 529, 3, (12 + (i * 89)), "White")
'addField(NameOfButton,TextOfButton,Width,Height,LocationX,LocationY,readonly 0 = true)
addField("Q" & i.ToString, name.ToString, 533, 64, 14, (69 + (i * 89)), 0)
addField("A" & i.ToString, Answer(1), 553, 64, 597, (69 + (i * 89)), 1)
i += 1
Next
以及实际添加面板/文本框的代码
Public Function addPanel(ByVal NameOfPanel As String, ByVal Width As Integer, ByVal Height As Integer, ByVal LocationX As Integer, ByVal LocationY As Integer, ByVal color As String)
'------------------------ADDING FIELDS INTO FORM TO SIMULATE A DATAREPEATER
'INSTANTIATE CONTROL
Dim Panel As System.Windows.Forms.Panel
'CREATE CONTROL
Panel = New System.Windows.Forms.Panel()
'SET TEXT PROPERTIES
Panel.Name = NameOfPanel
Panel.Size = New System.Drawing.Size(Width, Height)
Panel.Location = New System.Drawing.Point(LocationX, LocationY)
If color = "White" Then Panel.BackColor = Drawing.Color.White Else Panel.BackColor = Drawing.Color.LightGray
'ADD CONTROL TO FORM1'S COLLECTION
Form1.Panel5.Controls.Add(Panel)
Return Nothing
End Function
Public Function addField(ByVal NameOfButton As String, ByVal TextOfButton As String, ByVal Width As Integer, ByVal Height As Integer, ByVal LocationX As Integer, ByVal LocationY As Integer, ByVal ro As Integer)
'------------------------ADDING FIELDS INTO FORM TO SIMULATE A DATAREPEATER
'INSTANTIATE CONTROL
Dim txtb As System.Windows.Forms.TextBox
'CREATE CONTROL
txtb = New System.Windows.Forms.TextBox()
'SET TEXT PROPERTIES
txtb.Name = NameOfButton
txtb.Size = New System.Drawing.Size(Width, Height)
txtb.Location = New System.Drawing.Point(LocationX, LocationY)
txtb.Text = TextOfButton
txtb.Multiline = True
Dim myfont As New Font("Microsoft Sans Serif", 16, FontStyle.Regular)
txtb.Font = myfont
If ro = 0 Then txtb.ReadOnly = True
'ADD CONTROL TO FORM1'S COLLECTION
Form1.Panel5.Controls.Add(txtb)
Return Nothing
End Function