[英]ComboBox selected text or item
我正在winform工作我嘗試了很多次來捕獲comboBox所選項目的文本,我不能,它總是空的,這是代碼
List<person>op = new List<person>(); op=DAL_O.per();
foreach(person rt in op )
{
comboBox1.DataSource = op;
comboBox1.DisplayMember = "Name_person";
comboBox1.ValueMember = "id_person";
}
}
private void button2_Click(object sender, EventArgs e)
{
Lbl_full_list.Text+=comboBox1.Items[comboBox1.SelectedIndex].ToString();
//or
Lbl_full_list.Text+= comboBox1.Text;
}
也許有人有想法? 我在Google上搜索了很多,結果沒有用
您的綁定代碼不正確。
刪除周圍的foreach
,應解決問題。
首先,您不希望將列表中的每個人綁定到組合框,否則您在列表中最多只有一個項目,您只想綁定整個列表以刪除循環。 而且你也可以將列表聲明和設置組合成一行來獲得這個(你甚至可以跳過使用List,但我把它留給了readablity:
List<person>op = DAL_O.per();
comboBox1.DataSource = op;
comboBox1.DisplayMember = "Name_person";
comboBox1.ValueMember = "id_person";
至於獲取所選文本值,我會使用其中之一
comboBox1.Text
或( 根據MSDN示例 )
comboBox1.SelectedItem.ToString()
首先,為什么你使用foreach
循環? 你可以像這樣簡單地綁定它:
List<person>op = new List<person>();
op=DAL_O.per();
comboBox1.DataSource = op;
comboBox1.DisplayMember = "Name_person";
comboBox1.ValueMember = "id_person";
關於您的原始問題,請嘗試:
Lbl_full_list.Text += comboBox1.Text
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.