最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C# SelectedIndexChanged事件詳解

 更新時間:2021年08月12日 17:03:44   作者:ruiqi317  
這篇文章主要介紹了C# SelectedIndexChanged事件詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下

SelectionChangeCommitted事件

在設定datasource和displaymember和valuemember時,以及手動改變combobox索引和值時都不觸發(fā)該事件, 只是在界面選擇combobox不同值時觸發(fā)。

SelectedIndexChanged事件  當 SelectedIndex 屬性更改時發(fā)生,索引改變時觸發(fā)。

SelectedValueChanged事件   當 SelectedValue 屬性更改時發(fā)生,值改變時觸發(fā)。

區(qū)別:

  1. SelectedIndexChanged和SelectedValueChanged可以通過編程的方式更改屬性而觸發(fā)事件,但SelectionChangeCommitted事件必須由用戶操作選定選項才能觸發(fā)。
  2. 在初始化時(設置源)SelectedIndexChanged和SelectedValueChanged都會被調(diào)用,而SelectionChangeCommitted沒有這個問題。
  3. SelectionChangeCommitted也有一個小問題,當打開下拉菜單,用鍵盤的上下光標鍵選擇條目后(不用鼠標點擊),鼠標點擊其他控件,使焦點轉(zhuǎn)移,此時comboBox的Text屬性已改變,SelectedIndex屬性也已改變,但這樣的操作不會觸發(fā)SelectionChangeCommitted事件。結(jié)論:SelectionChangeCommitted一定要由鼠標選擇才能觸發(fā)(個人感覺)。

關(guān)于事件的觸發(fā)

設置DataSource, DisplayMember, ValueMember不同順序觸發(fā)SelectedIndexChanged事件和SelectedValueChanged事件的次數(shù)

順序一:

this.comboBox1.DisplayMember = "userName";  (不觸發(fā))

this.comboBox1.ValueMember = "userAge";    (只觸發(fā)SelectedValueChanged)

this.comboBox1.DataSource = dt; (都觸發(fā))

SelectedValueChanged觸發(fā)兩次(總是先觸發(fā))SelectedIndexChanged,觸發(fā)一次 (設置DisplayMember屬性時不觸發(fā)兩種事件)

順序二:

this.comboBox1.ValueMember = "userAge";

this.comboBox1.DisplayMember = "userName";

this.comboBox1.DataSource = dt;

同上

順序三:

this.comboBox1.DataSource = dt; (都觸發(fā))

this.comboBox1.DisplayMember = "userName";(都觸發(fā))

this.comboBox1.ValueMember = "userAge";(只觸發(fā)SelectedValueChanged事件)

SelectedValueChanged觸發(fā)三次(總是先觸發(fā))SelectedIndexChanged,觸發(fā)兩次 (設置DisplayMember屬性時不觸發(fā)兩種事件)

順序四:

this.comboBox1.DataSource = dt; (都觸發(fā))

this.comboBox1.ValueMember = "userAge";(都觸發(fā)) 其中SelectedValueChanged觸發(fā)兩次

this.comboBox1.DisplayMember = "userName";(都觸發(fā))

SelectedValueChanged觸發(fā)四次(總是先觸發(fā))SelectedIndexChanged,觸發(fā)三次 (設置DisplayMember屬性時不觸發(fā)兩種事件)

說明:當設置了DataSource 屬性后,SelectedValue 屬性值會默認為第一行(所以會觸發(fā)SelectedIndexChanged事件和SelectedValueChanged事件),因此,如果不希望ComboBox自動選擇第一行,還需在設置完DataSource 后自行將SelectedValue 設為“”。

到此這篇關(guān)于C# SelectedIndexChanged事件詳解的文章就介紹到這了,更多相關(guān)C# SelectedIndexChanged事件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

清水县| 油尖旺区| 轮台县| 洪雅县| 措勤县| 墨竹工卡县| 云南省| 涟水县| 清丰县| 武乡县| 彰化市| 澄江县| 武川县| 韶关市| 达孜县| 滕州市| 秦安县| 留坝县| 温宿县| 布尔津县| 宜都市| 于田县| 福安市| 壤塘县| 临城县| 临江市| 乡宁县| 灵丘县| 长治县| 东兰县| 长沙市| 梁平县| 林州市| 兴化市| 昔阳县| 阿合奇县| 长治市| 文昌市| 固始县| 库车县| 肇州县|