簡體   English   中英

如何從組合框C#獲取值?

[英]How to get a value from a combobox c#?

我是C#的新手,所以請耐心等待...

好的,因此您右鍵單擊comboBox,選擇編輯項,然后可以將字符串添加到comboBox。 我的問題是,如何為這些字符串設置值? 我想使用“ if”語句來說明當前是否選擇了某個字符串。

所以我有5個comboBoxes。 選中復選框后,所有的人都會說“滿”。 如果這些值之一更改為其他值,那么我希望選中另一個復選框。 但是由於comboBoxes中的字符串沒有值,所以我不知道如何使用它們。

重申一下,如何為comboBoxes中的字符串設置值,以便可以在“ if”語句中使用它們。

編輯:這是Windows窗體。

好吧,最簡單的方法:

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

更為復雜的方法是創建一個數組或字符串列表,並將它們全部一次添加為數據源:

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

無論選擇哪種方式,都將編輯ComboBox項目的集合。

PS那是Winforms的。

檢查文本的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);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM