每个项目有两个单独的文本字段的组合框
本文关键字:文本 字段 组合 单独 两个 项目有 | 更新日期: 2023-09-27 18:18:35
我想每个项目存储两个项目,例如名称和描述。在组合框中,选中的项目将显示名称,标签将显示项目的描述,每当选中的项目被更改时,标签需要更新。
我下面的代码似乎存储了项目,但没有根据所选索引或每当项目选择更改时显示它们!
ComboboxItem item = new ComboboxItem();
item.Text = "A1";
item.Value = "A2";
comboBox1.Items.Add(item);
item.Text = "B1";
item.Value = "B2";
comboBox1.Items.Add(item);
comboBox1.SelectedIndex = 0;
label1.Text = (comboBox1.SelectedItem as ComboboxItem).Value.ToString();
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
label1.Text = (comboBox1.SelectedItem as ComboboxItem).Value.ToString();
}
和Class with:
public class ComboboxItem
{
public string Text { get; set; }
public object Value { get; set; }
public override string ToString()
{
return Text;
}
}
ComboBoxItem
为引用类型。您必须先创建新项目,然后再将其添加到comboBox1
项目中,否则它也会更改先前添加的项目。
修改这部分
ComboboxItem item = new ComboboxItem();
item.Text = "A1";
item.Value = "A2";
comboBox1.Items.Add(item);
// Will change value of item thus item added to combo box will change too because the references are same
item.Text = "B1";
item.Value = "B2";
comboBox1.Items.Add(item);
ComboboxItem item = new ComboboxItem();
item.Text = "A1";
item.Value = "A2";
comboBox1.Items.Add(item);
ComboboxItem item2 = new ComboboxItem();
item2.Text = "B1";
item2.Value = "B2";
comboBox1.Items.Add(item2);