我正在为Comboxbox中的每个项目添加“索引”对象
foreach(索引中的var索引) { UniqueIndexComboBox.Items.Add(索引); }
当用户从drop中选择一个索引项时,将触发以下事件。我不确定区别。
private void UniqueIndexComboBox_SelectedValueChanged(object sender,EventArgs e) private void UniqueIndexComboBox_SelectedIndexChanged(object sender,EventArgs e)
当我整合以下属性时,SelectedValue始终为null,但我仍然可以使用SelectedIndex值作为项目列表的索引来访问所选的Index值。
使用WinForm ComboBox,为什么选择 ? UniqueIndexComboBox.Items [UniqueIndexComboBox.SelectedIndex] == null 假 ? UniqueIndexComboBox.SelectedValue == null 真
为什么SelectedValue选项也不起作用? DropDownStyle属性的值是否相关?
答案 0 :(得分:0)
SelectedIndex是基于零的索引号(间接位置号) SelectedValue是所选项目的实际值(对用户不可见)。在你的情况下,SelectedValue总是为null,因为你没有提供它,如下所示。
要实现ComboBox的SelectedValue,组合框应该设置它的DataSource属性而不是Items.Add()方法
例如
var items = new List<object>();
for (int i = 1; i <= 10; i++)
{
items.Add(new { Value = i, Text = "Text "+i });
}
comboBox1.DataSource = items;
comboBox1.DisplayMember = "Text";
comboBox1.ValueMember = "Value";