组合框选中的文本或项目
本文关键字:文本 项目 组合 | 更新日期: 2023-09-27 18:03:45
我在winform中工作,我尝试了很多次来捕获组合框选定项的文本,但我不能,它总是空的,这是代码
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;
}
也许有人有主意?我在谷歌上搜索了很多,结果没有工作
您的绑定代码不正确。
移除它周围的foreach
,应该可以解决这个问题。
首先,您不想将列表中的每个人绑定到组合框,否则列表中最多只有一个项目,您只想绑定整个列表,因此删除循环。你也可以将list声明和设置合并到一行来得到这个(你甚至可以跳过list,但为了可读性,我把它留下了:
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