vb.net动态创建复选框

标签 vb.net checkbox

当我不知道到底需要多少个框时,我试图弄清楚如何在表单上创建动态复选框。

问题是我不知道如何调暗多个对象。这是我用于创建一个复选框的代码

Dim checkBox As New CheckBox()

Form1.Controls.Add(checkBox)
checkBox.Location = New Point(10, 10)
checkBox.Text = "testing"
checkBox.Checked = True
checkBox.Size = New Size(100, 20)

它工作得很好,但我无法添加多个复选框,而不必这样做:

Dim checkBox As New CheckBox()
Dim checkBox2 As New CheckBox()

Form1.Controls.Add(checkBox)
checkBox.Location = New Point(10, 10)
checkBox.Text = "testing"
checkBox.Checked = True
checkBox.Size = New Size(100, 20)

Form1.Controls.Add(checkBox2)
checkBox2.Location = New Point(40, 10)
checkBox2.Text = "testing2"
checkBox2.Checked = True
checkBox2.Size = New Size(100, 20)

等等...

是否有一种方法可以调暗多个复选框,而不必为每个复选框编写多个调暗语句?

抱歉,也许我应该这样说..

我想做这样的事情:

 dim checkBox() as CheckBox

 do until i = 50
    Form1.Controls.Add(checkBox(i))
    checkBox(i).Location = New Point(10, 10)
    checkBox(i).Text = "testing " & i
    checkBox(i).Checked = True
    checkBox(i).Size = New Size(100, 20)
    i += 1
 loop

最佳答案

似乎 CheckBox 实例之间唯一不同且未计算的项目是文本。如果是这样,那么您可以使用以下代码根据 String 列表添加一组 CheckBox 实例。

Dim data as String() = New String() { "testing", "testing2" }
Dim offset = 10
For Each cur in data 
  Dim checkBox = new CheckBox()
  Form1.Controls.Add(checkBox)
  checkBox.Location = New Point(offset, 10)
  checkBox.Text = cur
  checkBox.Checked = True
  checkBox.Size = New Size(100, 20)
  offset = offset + 30
Next

关于vb.net动态创建复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3620847/

相关文章:

c# - 在 GridView 中的 ASCX 控件内的控件上使用 Javascript 显示隐藏。 (ASP.NET + JavaScript)

jquery - 将 JSON 与 ASP.NET VB 结合使用

android - 自定义 ListView 中的复选框和 selectAll 按钮错误

vb.net - 套接字编程 VB.NET - 无限期地读取 block

arrays - 使用 VB .net 从进程数组中删除重复项

vb.net - 在继承的标签上设置 Font.Bold

c# - 如何将复选框添加到绑定(bind)到数据源的数据 GridView ?

javascript - 用于复选框的 jquery ui 工具提示

javascript - 为什么 Angular `ng-repeat` 有不同的复选框区分行为然后手动列出复选框?

android - 为什么触摸 ListView 时我的 CheckBox 的背景颜色会改变?