今天测试DevExpress皮肤空间到时候,用到comboBoxEx控件,想利用comboBoxEx来选择某一皮肤颜色,使得皮肤改变。就做了个小例子。结果comboBoxEx1_SelectedIndexChanged老是不能够正确触发。后来又做了测试,测试发现。响应comboBoxEx1_SelectedIndexChanged的事件写成:Label1.Text=comboBoxEx1.SelectedText.toString()不正确。改成
label1.Text= comboBoxEx1.SelectedItem.ToString();就对了。
现象:使用comboBoxEx1.SelectedText其值为 ""。
总结 comboBoxEx1.SelectedText和comboBoxEx1.SelectedText的区别如下:
->SelectedItem是指当前选定项的对象,而不是文本
SelectedItem 属性设置为一个对象时,ComboBox 尝试使该对象成为列表中当前选定的对象。如果在列表中找到了该对象,则将它显示在 ComboBox 的编辑部分,并且将 SelectedIndex 属性设置为相应的索引。如果列表中不存在该对象,则 SelectedIndex 属性保留其当前值。
comboBox.SelectedText:表示组合框中当前选定文本的字符串,如果 DropDownStyle 设置为 comboBoxStyle.DropDownList,则返回值为空字符串 ("")。 原因在这里。
comboBox.SelectedValue:包含由 ValueMember 属性指定的数据源成员的值的对象。
string str=(string)comboBox.SelectedItem; 可以获得comboBox当前项的值
string str=comboBox.Text; 同样也可以获得当前项的值
comboBox.SelectedItem: 这是一个对象
comboBox.SelectedText:是指你当前选中第几个字符,不是第几项。比如:“你好吗”如果你用鼠标选中了“好”,那么comboBox.SelectedText就是当前项的第二个字符。比如当前项是:“小青蛙”,那么comboBox.SelectedText的值就是“青”。comboBox的DropDownStyle必须Simple
comboBox.SelectedValue:返回ValueMember指定的字段的值。