vb.net - 如何动态将标签页添加到标签控件并将标签添加到标签页
问题描述
我正在尝试将一些 Tabages 添加到名为“EMER_AUTO_TabContorl”并由 emer_num_textbox 控制的现有 TabControl。
如下图,我应该得到“A组”/“B组”/“C组”,但“C组”/“B组”/“C组”。
这是我的代码。
Dim group_name As String() = {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J"} 'my group name
Dim mytabPage As TabPage = New TabPage
Dim myLabel As Label = New Label
Dim emer_groupNum As Integer 'my input number
Try
emer_groupNum = Emer_Num_TextBox.Text
EMER_AUTO_TabControl.TabPages.Clear() 'Clear my tabControl
Catch
End Try
For i = 1 To emer_groupNum
With myLabel
.Text = "123"
.Location = New Point(6, pos1_Y)
End With
With mytabPage
.Text = group_name(i - 1) & " Group"
.Controls.Add(myLabel)
End With
EMER_AUTO_TabControl.TabPages.Add(mytabPage)
Next
标签页旁边不显示“123”文本。
解决方案
您每次都在重复使用相同的标签页和标签。在 for 循环中移动“新建”,如下所示:
Dim group_name As String() = {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J"} 'my group name
Dim mytabPage As TabPage
Dim myLabel As Label
Dim emer_groupNum As Integer 'my input number
Try
emer_groupNum = Emer_Num_TextBox.Text
EMER_AUTO_TabControl.TabPages.Clear() 'Clear my tabControl
Catch
End Try
For i = 1 To emer_groupNum
myLabel = New Label
With myLabel
.Text = "123"
.Location = New Point(6, pos1_Y)
End With
mytabPage = New TabPage
With mytabPage
.Text = group_name(i - 1) & " Group"
.Controls.Add(myLabel)
End With
EMER_AUTO_TabControl.TabPages.Add(mytabPage)
Next
编辑
您可能还想更改测试正确整数输入的方式,就像 Try/Catch 当前运行 For 循环一样。也许尝试这样的事情:
If Integer.TryParse(Emer_Num_TextBox.Text, emer_groupNum) Then
For i = 1 To emer_groupNum
' Loop code here
Next
Else
' Handle incorrect input
End If
推荐阅读
- azure-application-insights - 如何从 apim 应用洞察中获取后端 url
- php - 在 WooCommerce 循环产品标题中显示来自特定父级的子产品类别
- python - 文件内容读取错误时使用哪个异常
- r - 删除 r 中 ggplot2 中离散 x 轴值之前和之后的大间距
- javascript - 如何使用组件中的方法更改 vue 中 props 的值?
- typescript - 如何使用“标记”类型来索引记录?
- powershell - 如何在不知道其名称的情况下获取 powershell 中文件的完整路径?
- groovy - Groovy:递归且轻松地创建对象
- r - R中的条件过滤
- .net-core - IFeatureCollection 已在 ServiceStack 中处理错误