Как бы я получить текст недавно проверенного элемента в проверенном списке с C # - PullRequest
2 голосов
/ 17 ноября 2010

Я использую ItemCheckEventArgs и из которого я могу получить значение индекса, но из этого значения я не уверен, как посмотреть, какой текст был проверен.

Ответы [ 4 ]

4 голосов
/ 17 ноября 2010

Вот несколько простых кодов, которые должны помочь:

public void CheckedListBox1_ItemCheck(object sender, ItemCheckEventArgs e)
{
    var checkedListBox = (CheckedListBox)sender;
    var checkedItemText = checkedListBox.Items[e.Index].ToString();
}
3 голосов
/ 17 ноября 2010

В обработчике события ItemCheck с помощью ItemCheckEventArgs e вы можете получить соответствующий объект

checkedListBox1.Items[e.Index]
1 голос
/ 17 ноября 2010

Класс CheckedListBox имеет свойство CheckedItems.

private void WhatIsChecked_Click(object sender, System.EventArgs e) {
    // Display in a message box all the items that are checked.

   // First show the index and check state of all selected items.
   foreach(int indexChecked in checkedListBox1.CheckedIndices) {
       // The indexChecked variable contains the index of the item.
       MessageBox.Show("Index#: " + indexChecked.ToString() + ", is checked. Checked state is:" + checkedListBox1.GetItemCheckState(indexChecked).ToString() + ".");
   }

    // Next show the object title and check state for each item selected.
    foreach(object itemChecked in checkedListBox1.CheckedItems) {

        // Use the IndexOf method to get the index of an item.
        MessageBox.Show("Item with title: \"" + itemChecked.ToString() + 
            "\", is checked. Checked state is: " + checkedListBox1.GetItemCheckState(checkedListBox1.Items.IndexOf(itemChecked)).ToString() + ".");
    }

}
0 голосов
/ 17 ноября 2010

Внутри события SelectedIndexChanged введите следующий код

string text = (sender as CheckedListBox).SelectedItem.ToString();
...