C # Winform Получение значения из CheckListBox - PullRequest
1 голос
/ 16 мая 2019

У меня есть checkListBox на winform. Я заполняю флажок кодом, см. Ниже.

Все хорошо работает.

Теперь мне нужно получить значение проверенных пунктов. У меня есть некоторые проблемы.

Когда я делаю foreach(var item in clbtest.CheckedItems)

Я получаю это, когда открываю окно ...? пункт

{ Text = "Depos", Value = "Q:\\Scanning Department\\_DT SEARCH INDEXES\\Depos" }
Text: "Depos"
Value: "Q:\\Scanning Department\\_DT SEARCH INDEXES\\Depos"

Я не знаю, как добраться до поля Значение. Я пробовал несколько способов, но ничего не работает.

private void FillIndexes()
{
    string stext = cblIndexToSearch.Text;
    cblIndexToSearch.Items.Clear();

    cblIndexToSearch.Text = "";
    cblIndexToSearch.DisplayMember = "Text";
    cblIndexToSearch.ValueMember = "Value";

    foreach (var item in indexlist)
    {
        cblIndexToSearch.Items.Insert(0, 
            new { Text = item.indexName, Value = @item.indexPath });
    }
}

1 Ответ

0 голосов
/ 18 мая 2019

Надеюсь, это поможет.Просто создайте контрольный список с именем «checkedListBox1», и код должен работать.Я подробно рассказал о том, что он делает.

        checkedListBox1.Items.Clear();

        checkedListBox1.Text = "";
        checkedListBox1.DisplayMember = "Text";
        checkedListBox1.ValueMember = "Value";


        checkedListBox1.Items.Insert(0,
                new { Text = "Rawr", Value = "Whatever 2011"});

        string temp = checkedListBox1.Items[0].ToString(); //gets the string of the item. (switch 0 to the index you want)
        string string_Value = temp.Split(new string[] { "Value = " }, StringSplitOptions.None)[1]; //splits the string by the value part and returns the string value.
        string_Value = string_Value.Substring(0, string_Value.Length - 2); ; //removes the last 2 characters since they are not part of the value.
        //you now have the value in string form.
...