【问题标题】:Single selection CheckedListBox control单选 CheckedListBox 控件
【发布时间】:2016-11-17 11:36:33
【问题描述】:

我有一个CheckedListBox 控件。我想将它的选择属性限制为一个,意味着现在用户可以在控件中选择多个项目,需要将此属性限制为仅单选。

例如,Let's CHKListsolutions 有以下项目

Google
Bing
Yahoo

通常我们可以选择其中的 3 个,原因很明显。 如何使这个 CHKListsolutions 只选择列表中的一项。

例如,我选择了 Google,出于某种原因我想要更改选择,所以我将选择 Yahoo,然后我的最后一个选择应该取消选中,而新的选择应该被选中

我已经在资源中签入了一个属性,但没有成功。

任何帮助将不胜感激

【问题讨论】:

  • winforms?网络? wpf?
  • 在winforms中使用
  • 您是否考虑过使用RadioButtons 而不是CheckedListBox?它们完全满足开箱即用的描述要求。

标签: vb.net winforms


【解决方案1】:
 Private Sub CHKListsolutions_MouseClick(sender As Object, e As MouseEventArgs) Handles CHKListsolutions.MouseClick
        Dim  idx, sidx As Integer
        sidx = CHKListsolutions.SelectedIndex
        For idx = 0 To CHKListsolutions.Items.Count - 1
            If idx <> sidx Then
                CHKListsolutions.SetItemChecked(idx, False)
            Else
                CHKListsolutions.SetItemChecked(sidx, True)
            End If
        Next
    End Sub

在 MouseClick 事件中,您将获得控件中项目的当前选定索引 (sidx) 使用此 sidx 循环通过控件中的项目数并取消选中不等于当前的选中项目索引使用SetItemChecked方法


【讨论】:

    【解决方案2】:

    使用单选按钮代替 Checkedlistbox

    【讨论】:

    • 另一位用户对此问题发表了评论。 OP 可能会从示例代码 sn-p 中受益,如果他们没有使用单选按钮,或者刚刚开始。
    猜你喜欢
    • 2011-04-01
    • 1970-01-01
    • 2012-09-13
    • 1970-01-01
    • 1970-01-01
    • 2015-06-18
    • 2014-07-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多