1

我已将 DataSource 绑定到一个组合框,然后设置此代码

Combox1.ValueMember = "CapacityID";
Combox1.DisplayMember = "Capacitys";

它显示数据没有问题,但是当我想要获得 selectedtext 它返回我“”并使用 selectedItem 时,返回组合框的名称!selectedvalue 返回正确的数据。

Combox1.SelectedItem.ToString(); //return "Combox1"
Combox1.SelectedValue.ToString(); //Work Correctly
Combox1.SelectedText.ToString(); // return ""
4

4 回答 4

1

Combox1.SelectedItem返回您选择的 ListItem 对象而不是所选项目的文本值

它应该是这样的:

ListItem li = Combox1.SelectedItem;

或者

Object selectedItem = comboBox1.SelectedItem;

    MessageBox.Show("Selected Item Text: " + selectedItem.ToString() );

来自 MSDN:http: //msdn.microsoft.com/en-us/library/system.windows.forms.combobox.selecteditem.aspx


Combox1.SelectedText- 检查 Msdn:http: //msdn.microsoft.com/en-us/library/system.windows.forms.combobox.selectedtext.aspx

FROM MSdn 为什么它返回空字符串- 如果您在按钮 Click 事件处理程序中检索 SelectedText 值,该值将是一个空字符串。这是因为当输入焦点从组合框移动到按钮时,选择会自动清除。

于 2012-09-17T09:38:36.430 回答
1

ComboBox.Text.Tostring() 返回选定的文本并解决了我的问题

 String status = "The status of my combobox is " + comboBoxTest.Text

MSDN 中的 SelectedText 属性

Gets or sets the text that is selected in the editable portion of a ComboBox.

而来自 MSDN 的 Text 属性

Gets or sets the text associated with this control.
于 2012-09-17T10:36:34.547 回答
0

采用

Combox1.SelectedItem.Text // To get SelectedText
Combox1.SelectedItem.Value // To get SelectedValue

代替

Combox1.SelectedItem.ToString()
于 2012-09-17T09:38:54.777 回答
0

如此 altough,您的问题在语法上并不是很清楚,要获得所选项目的 calue,请始终使用

Combox1.SelectedValue

为什么?

因为:

Combox1.SelectedItem

返回一个字符串,该字符串表示组合框中当前选定的文本。如果 DropDownStyle 设置为 DropDownList,则返回值为空字符串 ("")。

于 2012-09-17T09:40:25.563 回答