它们之间有什么区别呢?我是否可以使用这些方法在标签中显示组合框的文本,或者有什么不同?
label1.Text = comboBox1.SelectedItem.ToString();
label2.Text = comboBox1.Text;
label3.Text = comboBox1.SelectedValue.ToString();我正在测试组合框的这些值,但我对它们的工作方式感到困惑。我想在标签中显示组合框的文本。使用comboBox.Text可以很好地工作,但剩下的两个会出现以下错误:
error message:Object reference not set to an instance of an object.发布于 2014-02-04 12:43:42
这是我的例子。
private void comboSelectChanged(object sender, SelectionChangedEventArgs e)
{
textBox1.Text = comboBox1.SelectedItem.ToString();
textBox2.Text = comboBox1.Text;
textBox3.Text = comboBox1.SelectedIndex.ToString();
}物品收集:

其结果是:



SelectedItem:获取或设置ComboBox中当前选定的项。
基于ComboBox.SelectionChangeCommitted
文本:获取或设置与此控件关联的文本。(覆盖Control.Text。)
设置文本值将更改组合框的当前值。
SelectedValue:获取或设置由ValueMember属性指定的成员属性值。(继承自ListControl.)
基于ListControl.SelectedValueChanged
这个问题可能是ComboBox SelectedItem vs SelectedValue的重复。
源msdn
在圆点网进一步阅读。
https://stackoverflow.com/questions/21552789
复制相似问题