0

我想获取checkedlistbox控件中复选框的名称

通过以下代码,我只能获取与复选框关联的文本:

    Dim sb As New System.Text.StringBuilder
    Dim CheckedList =
        (
          From Item In clbCheckedListBox.Items.Cast(Of String)() _
          .Where(Function(xItem, Index) clbCheckedListBox.GetItemChecked(Index))
          Select Item
        ).ToList

示例:我想要chk_01而不是Hello World

(复选框名称 = clbCheckedListBox
复选框名称之一 = chk_01
chk_01复选框包含文本Hello World

Ps:我通过上面的代码获得了仅选中
复选框的文本 (我想要相同但带有复选框名称

请帮助...提前谢谢..

4

3 回答 3

0

我相信您可以参考该clbCheckedListBox.ID属性来获取控件的唯一ID。

还有您可能感兴趣的 UniqueID 属性和 TagName。

您可能在这里遇到问题的事实.Cast(Of String)()需要完整的 cehckbox 对象来执行我的建议

于 2013-07-26T14:36:33.293 回答
0

复选框名称之一 = chk_01

这没有任何意义,因为 CheckedListBox.Item 没有 Name 属性。识别它们的唯一方法是通过文本或索引

像这样的东西会返回一个被检查的项目的文本列表:

Dim CheckedList = (From Text In clbCheckedListBox.CheckedItems() Select Text).ToList

或者,您可以得到一个这样检查的索引列表:

Dim CheckedList = (From Index In clbCheckedListBox.CheckedIndices() _
                   Select Index).ToList
于 2013-07-26T18:57:40.267 回答
0
Dim CheckedList =
        (
            From Name In clbCheckedListBox.CheckedIndices.Cast(Of Integer)() _
            .Where(Function(xItem, Index) clbCheckedListBox.GetItemChecked(Index))
            Select Name
        ).ToList

变化是:
clbCheckedListBox.CheckedIndices.Cast(Of Integer)

于 2013-07-26T15:23:43.120 回答