selectindexchanged select valuechanged textchanged

Posted ym296900664

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了selectindexchanged select valuechanged textchanged相关的知识,希望对你有一定的参考价值。

l         SelectionChangeCommitted事件

在设定datasource和displaymember和valuemember时,以及手动改变combobox索引和值时都不触发该事件, 只是在界面选择combobox不同值时触发

2       SelectedIndexChanged事件  索引改变时触发

3         SelectedValueChanged事件   值改变时触发

 

 

 

设置DataSource, DisplayMember, ValueMember不同顺序触发SelectedIndexChanged事件和SelectedValueChanged事件的次数

顺序一:

this.comboBox1.DisplayMember = "userName" (不触发)

this.comboBox1.ValueMember = "userAge";    (只触发SelectedValueChanged)

this.comboBox1.DataSource = dt; (都触发)

SelectedValueChanged触发两次(总是先触发)SelectedIndexChanged,触发一次 (设置DisplayMember属性时不触发两种事件)

 

顺序二:

this.comboBox1.ValueMember = "userAge";

this.comboBox1.DisplayMember = "userName";

this.comboBox1.DataSource = dt;

同上

 

顺序三:

this.comboBox1.DataSource = dt; (都触发)

this.comboBox1.DisplayMember = "userName";(都触发)

this.comboBox1.ValueMember = "userAge";(只触发SelectedValueChanged事件)

SelectedValueChanged触发三次(总是先触发)SelectedIndexChanged,触发两次 (设置DisplayMember属性时不触发两种事件)

 

 

顺序四:

this.comboBox1.DataSource = dt; (都触发)

this.comboBox1.ValueMember = "userAge";(都触发) 其中SelectedValueChanged触发两次

this.comboBox1.DisplayMember = "userName";(都触发)

SelectedValueChanged触发四次(总是先触发)SelectedIndexChanged,触发三次 (设置DisplayMember属性时不触发两种事件)

以上是关于selectindexchanged select valuechanged textchanged的主要内容,如果未能解决你的问题,请参考以下文章

switch case语句总执行第一个case

radiobuttonlist的问题

C# winform中关于两个ListBox清除selectIndex的问题。

以编程方式选择索引 0(从-1)时,组合框未触发 SelectedIndexChanged

如何实现点击获取ASPxListBox中任意项的值并赋值到文本框

c#中怎么把combobox控件的一部分选项改为不可选?