Как получить значение из выпадающего списка c #? - PullRequest
0 голосов
/ 14 марта 2011

Я немного новичок в C #, так что терпите меня на этом ...

Хорошо, вы щелкаете правой кнопкой мыши на поле со списком, выбираете элементы редактирования и можете добавлять строки в поле со списком. У меня вопрос, как я могу установить значение для этих строк? Я хочу использовать оператор if, чтобы указать, выбрана ли в данный момент определенная строка.

Итак, у меня есть 5 комбинированных списков. Когда флажок установлен, все они будут говорить «Полный». Если одно из этих значений будет изменено на что-то другое, тогда я хочу установить другой флажок. Но так как строки в комбинированных списках не имеют значений, я не могу понять, как их использовать.

Чтобы повторить, как я могу установить значения для строк в комбинированных списках, чтобы я мог использовать их в операторах "если".

Редактировать: это форма Windows.

Ответы [ 2 ]

0 голосов
/ 14 марта 2011

проверьте текст свойства Text.

Предполагается, что ваш ComboBox находится в cmb [5], а ваш флажок - chk:

private ComboBox[] cmb;

private void init()
{
    cmb = new ComboBox[5];
    for (int i = 0; i < 5; i++)
    {
        ComboBox c = new ComboBox();
        Controls.Add(c);
        // TODO: Populate c with the relevant data
        c.TextChanged += new EventHandler(c_TextChanged);
    }
    chk.CheckedChanged += new EventHandler(chk_CheckedChanged);
}

void chk_CheckedChanged(object sender, EventArgs e)
{
    foreach (ComboBox c in cmb)
        c.Text = "Full";
}

void c_TextChanged(object sender, EventArgs e)
{
    foreach (ComboBox c in cmb)
    {
        if (c.Text != "Full") return;
    }
    chk.Checked = false;
}

В качестве альтернативы init может быть:

private void init()
{
    cmb = new ComboBox[5];
    cmb[0] = comboBox1;
    cmb[1] = comboBox2;
    cmb[2] = comboBox3;
    cmb[3] = comboBox4;
    cmb[4] = comboBox5;
    foreach (ComboBox c in cmb)
        c.TextChanged += new EventHandler(c_TextChanged);
    chk.CheckedChanged += new EventHandler(chk_CheckedChanged);
}
0 голосов
/ 14 марта 2011

Ну, самый простой способ:

Combobox.Items.Add("New string");

Более сложный способ - создать массив или список строк и сразу добавить их все в качестве источника данных:

var listOfStrings = new List<string>();
Combobox.Datasource = listOfStrings;

Независимо от того, какой путь вы выберете, вы будете редактировать коллекцию ComboBox Items.

PS Это для Winforms.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...