Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
复选框在VB.Net窗体中不起作用_Vb.net_Visual Studio_Checkbox - Fatal编程技术网

复选框在VB.Net窗体中不起作用

复选框在VB.Net窗体中不起作用,vb.net,visual-studio,checkbox,Vb.net,Visual Studio,Checkbox,我有两个复选框用于两个分组框,以使每个分组框一次都可见或不可见,但不知何故,一个在工作(chboNew),另一个(chboIssue)不起作用! 以下是我为其编写的代码,如有任何帮助,将不胜感激: Private Sub chboIssue_CheckStateChanged(sender As Object, e As EventArgs) Handles chboIssue.CheckStateChanged If chboIssue.Checked = True Then

我有两个
复选框
用于两个
分组框
,以使每个分组框一次都可见或不可见,但不知何故,一个在工作(
chboNew
),另一个(
chboIssue
)不起作用! 以下是我为其编写的代码,如有任何帮助,将不胜感激:

Private Sub chboIssue_CheckStateChanged(sender As Object, e As EventArgs) Handles chboIssue.CheckStateChanged
    If chboIssue.Checked = True Then
        gbIssueSearch.Visible = True
        gbNewSearch.Visible = False
        chboNew.Checked = False
    ElseIf chboIssue.Checked = False Then
        gbIssueSearch.Visible = False
    End If
End Sub

Private Sub chboNew_CheckStateChanged(sender As Object, e As EventArgs) Handles chboNew.CheckStateChanged
    If chboNew.Checked = True Then
        gbNewSearch.Visible = True
        gbIssueSearch.Visible = False
        chboIssue.Checked = False
    ElseIf chboIssue.Checked = False Then
        gbNewSearch.Visible = False
    End If
End Sub

更改复选框的名称不会解决您的问题。我注意到,对于elseif子句中的chboNew.CheckStateChanged事件处理程序,您正在检查chboIssue是否被选中,而在chboIssue的其他处理程序中,if/else子句都在检查chboIssue。我想这可能是你的问题的一部分。此外,如果一次只需要选中其中一个框,则可能需要添加逻辑,以便在选中一个框时自动取消选中另一个框。例如,在chboNew处理程序中,“如果chboNew.Checked=True,那么chboIssue=False”,而在chboIssue处理程序中则相反。希望这有帮助

如果用户必须在新发行和发行搜索之间进行选择,则一次选择一个。 然后应该使用单选按钮,而不是复选框

复选框让用户可以同时选择两个复选框。
在您的情况下,这是不正确的。

它怎么会“不起作用”?John DeFauw的答案可能会解决您的问题(您正在测试chboIssue的状态。在两个ElseIf中都进行了检查,这似乎是错误的)。但是你应该听从Ashish Kamat的建议,使用单选按钮而不是复选框,这样用户就不会讨厌你了
GrpBox1.Visible=checkbox。选中
GrpBox2.Visible=Not复选框。选中
或根据文本内容反转逻辑。如果你只是禁用它们通常会更好,这样用户就有了一个提示,他们可以做一些不同的事情。这两个收音机与复选框的选中/未选中状态相同,但要管理的事件更少。
单选按钮对用户更友好。
我不同意-除了在旧的应用程序中,我记不起上次看到单选按钮是什么时候了。如果有两个选项,一个复选框就可以了,对于3个或更多的选项,一个组合框占用的空间更少,并且有一组事件,而单选按钮则有5个。有些情况下,它们是一个好主意,但它有点专业化谢谢你,我修复了你提到的第一部分,你提到的第二部分已经存在,我想可能还有一些其他问题,因为我从两个处理程序中删除了代码,但当我加载表单时,它仍然没有显示groupbox!你需要更具体一些。你到底删除了什么代码?你说的是哪个群组框?选中哪个复选框?谢谢,这对我来说非常简单,我想用户也可以很容易地使用单选按钮,现在我的代码工作正常:)