我对这一切都非常陌生,虽然我尝试搜索,但找不到任何帮助我实现我所追求的东西。
我在VB中有一个表格,内容如下:
1 x tabcontrol 10 x 复选框,位于选项卡控件上的各个选项卡中 1 x 列表框
当我勾选任何复选框时,我希望将它们的文本添加到列表框中,当我取消选中时,它们的文本将从列表框中获取。
我可以很容易地为每个复选框的 changedcheck 事件使用 if 语句来实现这一点,但我必须对每个不是很有效的复选框都这样做,因为我可能有 20,30 40+ 个复选框。另外,如果我在稍后阶段添加一个,我将不得不记住添加它的代码。
理想情况下,我想要一种方法:检查 tabcontrol 中的所有复选框,如果值为 true,则将其文本写入字符串,如果值为 false,则从字符串中获取文本。将字符串放入列表框中。
我从这样的事情开始......
Dim chk As CheckBox
Dim txt As String = ""
For Each chk In TabControl1.Controls
If chk.Checked = True Then
txt = txt + chk.Text +vbCrLF
Else
txt = replace(txt, chk.text + vbCrLf, "")
End If
Next
End Sub
第一个问题是上述显然行不通!所以那里的任何指导都值得赞赏 - 我通过阅读其他代码的碎片将它们放在一起。
第二个问题是,我不知道如何更新列表框,就像以前我对每个控件使用 CheckedChanged 事件一样,如果我做我想做的事,那么就不会有特定的 CheckedChanged 事件,如它可以是任何复选框(希望这是有道理的!)。我不想按下按钮将选中的复选框添加到列表框中,我希望它是动态的
很感谢任何形式的帮助。