相关文章推荐
成熟的西装  ·  使用Excel ...·  2 年前    · 
骑白马的毛巾  ·  IBM Documentation·  2 年前    · 

ComboBox

ComboBox1.Text

ComboBox1.SelectedIndex

ComboBox1.SelectedItem

ComboBox1.SelectedText

ComboBox1.SelectedV

alue

SelectedIndex

获取的是选中项的索引,从

0

开始;

SelectedItem

获取的是选中项本身,这里返回的

Object

类型的一个对象,不一定是选

中项的文本。比如现

在我们将

ComboBox

绑定到一

DataReader

上,如

果我们使用

SelectedItem.ToString()

的话,返回的是:

System.Data.DataRowV

iew

,这表明返回的是一个

System.Data.DataRowV

iew

的对象,然后转换为

Object

返回。

SelectedV

alue

获取或设置由

V

alueMember

属性指定的成员属性的值(

MSDN

。即是

说要绑定了数据源之后才能使用这个属性。

SelectedText

获取或设置

ComboBox

的可编辑部分中选定的文本(

MSDN

。为了测

试这个属性,

我们使用一个

click

进行测试,

返回的是一个空字符串,

关于这个原因,

MSDN

的解释是:

當下拉式方塊失去焦點時,

選取範圍點就會移至文字的開頭,

而任何原本選取的

文字就會變成未選取狀態。在這個範例中,取得

SelectedText

屬性就會擷取空字串,而設

SelectedText

http://msdn.microsoft.com/zh-cn/library/system.windows.forms.combobox.selectedtext(zh-tw).

aspx

再用

SelectedIndexChanged

事件进行测试,结果还是空字符串,原因是:當使用者選

取下拉式清單中的項目,

或使用向上鍵和向下鍵,

就會自動選取新項目的文字。

但是,

當您

嘗試取得

SelectedIndexChanged

SelectedV

alueChanged

事件處理常式中的

SelectedText

值時,這個屬性會傳回一個空字串。這是因為在這些事件發生時,先前的

SelectedText

SelectedIndexChanged

SelectedV

alueChanged

SelectedItem

http://msdn.microsoft.com/zh-cn/library/system.windows.forms.combobox.selectedtext(zh-tw).

aspx

最后用

MouseUp

进行测试

(以下的测试是

DropDownStyle

设置为

Simple

进行的,

一个文本框显示返回结果)

,这次返回的就是选定的文本了。选择不同的选项后返回不同选

项的文本,

测试成功,

按照上面的说法,

是因为在鼠标释放后心的值已经设定好了,

为了看

看猜测是否正确,在用一个

MouseDown

事件进行测试,这次点击不同的选项后结果明显不

同,结果是

一闪而过

,因为我们用的是鼠标按下的事件,那么这次按紧鼠标不放,可以看

到显示的结果是上一个选项的值,

放开鼠标后显示的结果又是一片空白了,

由此可见,

新的

值的设定是在鼠标按下之后,

放开之前设定的,

由于无法看到源代码,

所以这里仅仅是猜测

而已。

Text

,这个属性返回是我们选定的项的文本,如果想要获取的是选中的项的文本的话

最好使用这个属性。