2013-07-26 3 views
0

Я хочу получить имя из флажков в элементе checklistbox.

К этому следующему коду я только смог получить текст, связанный с флажками:Получить контрольное имя флажков в контрольном списке?

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

(имя checklistbox = clbCheckedListBox
Одно из указанных выше флажков = chk_01
chk_01 Флажок содержит текст Hello World )

P.S. : Я получаю текст только проверил флажков в коде выше
(я хочу то же, но с флажком Name)

Пожалуйста, помогите ... Заранее спасибо ..

+0

Это похоже на WinForms, но элемент CheckedListBox не имеет имени для каждого проверяемого элемента. Можете ли вы настроить меня прямо? – LarsTech

+0

Вы правы @LarsTech. , .Как получить Index/id (somthing, который является постоянным) – Vikram

ответ

0

Я верю тебе может ссылаться на свойство clbCheckedListBox.ID, чтобы получить уникальный идентификатор элемента управления.

Существует также свойство UniqueID и TagName, которые могут вас заинтересовать.

Тот факт, что вы .Cast(Of String)() может быть проблема здесь это потребовало бы полного объекта cehckbox выполнить то, что я предлагаю

+0

Ни один из этих свойств не доступен на данный момент ... :( – Vikram

+0

Я думаю, что вы выбрали выбранные флажки в строку вместо флажка? – legrandviking

0
Dim CheckedList = 
     (
      From Name In clbCheckedListBox.CheckedIndices.Cast(Of Integer)() _ 
      .Where(Function(xItem, Index) clbCheckedListBox.GetItemChecked(Index)) 
      Select Name 
     ).ToList 

Изменение Is:
clbCheckedListBox.CheckedIndices.Cast (Of Integer)

0

Один из имени CheckBox = 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 
Смежные вопросы