我有两个复选框。如果我先检查cb1,然后检查cb2,则ListBox应按检查顺序的顺序显示复选框的数据。
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
If cb1.Checked = True And cb2.Checked = False Then
ListBox1.Items.Add(cb1.Text)
If cb1.Checked = True And cb2.Checked = True Then
ListBox1.Items.Add(cb1.Text)
End If
ElseIf cb2.Checked = True And cb1.Checked = False Then
ListBox1.Items.Add(cb2.Text)
If cb2.Checked = True And cb1.Checked = True Then
ListBox1.Items.Add(cb1.Text)
End If
End If
End Sub
End Class
如果仅选中一个复选框,则显示数据,但如果两者都被选中,则列表框中不会显示任何数据。
答案 0 :(得分:0)
你的问题不够明确,我无法确定你想要什么,但这里是我解释的问题的解决方案:
用于检查两者是否都为真的代码嵌套在if语句中,如果它们都为真,则不会运行。 另外,如果你有更多的标准要在ifif的末尾,不要结束。
固定代码:
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
If cb1.Checked = True AND cb2.Checked = False Then
ListBox1.Items.Add(cb1.Text)
ElseIf cb1.Checked = True AND cb2.Checked = True Then
ListBox1.Items.Add(cb1.Text)
ListBox1.Items.Add(cb2.Text)
End if
If cb2.Checked = True And cb1.Checked = False Then
ListBox1.Items.Add(cb2.Text)
ElseIf cb2.Checked = True And cb1.Checked = True Then
ListBox1.Items.Add(cb2.Text)
ListBox1.Items.Add(cb1.Text)
End If
End Sub
如果您在检查每个事件后自动发生事件,您可能会有更好的运气。这段代码只会运行一次,所以如果你只检查了一个并运行了代码,那么即使检查了另一个代码,代码也不会再次运行,除非你在某种循环中使用它(直到循环可以工作)。