【问题标题】:Checkbox does does not work in VB.Net form复选框在 VB.Net 表单中不起作用
【发布时间】:2016-01-07 01:23:43
【问题描述】:

我有两个checkboxes 和两个groupboxes 可以同时启用每一个的可见性或不可见性,但不知何故,一个正在工作(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

【问题讨论】:

  • 它是如何“不工作”的?
  • John DeFauw 的回答可能会解决您的问题(您正在测试 chboIssue.Checked 的状态在两个 ElseIf 中,这似乎是错误的)。但是你应该听从 Ashish Kamat 的建议,使用单选按钮而不是复选框,这样用户就不会讨厌你了。
  • 使用单个复选框。 GrpBox1.Visible = checkbox.checkedGrpBox2.Visible = Not checkbox.checked 或根据文字内容反转逻辑。如果您只是禁用它们通常会更好,这样用户就有提示他们可以在那里做一些不同的事情
  • 2 个收音机与复选框的选中/未选中状态相同,但需要管理的事件更少
  • Radio buttons are more User friendly 我不同意 - 我不记得我最后一次看到 RadioButton 是什么时候了,除了旧应用程序。如果有 2 个选项,一个复选框就可以了,对于 3 个或更多,一个 ComboBox 占用的空间更少,并且有一组事件,而单选按钮则为 5 个。在某些情况下,它们是个好主意,但它有点专业

标签: vb.net visual-studio checkbox


【解决方案1】:

如果用户必须在新问题和问题搜索之间进行选择,一次一个。 那么你应该使用单选按钮,而不是复选框。

复选框提供了用户可以同时选择两个复选框的想法。 在你的情况下是不正确的。

【讨论】:

  • 谢谢你,这对我来说很容易,我想用户也很容易使用单选按钮,现在我的代码工作正常:)
【解决方案2】:

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

【讨论】:

  • 谢谢我修复了你提到的第一部分,并且你提到的第二部分已经存在,我想可能还有其他问题,因为我从两个处理程序中删除了代码,但是当我加载我的表单时它仍然存在不显示组框!
  • 您需要更加具体。你到底删除了什么代码?你在说哪个组框?哪个复选框被选中?
猜你喜欢
  • 1970-01-01
  • 2012-07-04
  • 2020-04-27
  • 1970-01-01
  • 2017-10-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多