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

C# SelectedIndexChanged事件詳解

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

SelectionChangeCommitted事件

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

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

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

區(qū)別:

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

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

設(shè)置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ā)一次 (設(shè)置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ā)兩次 (設(shè)置DisplayMember屬性時不觸發(fā)兩種事件)

順序四:

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

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

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

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

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

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

相關(guān)文章

最新評論

凌海市| 宝应县| 新乐市| 当涂县| 灵台县| 夏津县| 南投县| 宁南县| 新兴县| 内黄县| 普陀区| 黑水县| 海丰县| 淳化县| 二手房| 嘉鱼县| 四会市| 荣成市| 枣阳市| 余姚市| 景洪市| 龙南县| 福清市| 奈曼旗| 南部县| 开鲁县| 泸溪县| 万载县| 昌吉市| 龙泉市| 仁化县| 中宁县| 宝清县| 遵义县| 舒城县| 彭州市| 丰台区| 清丰县| 江城| 天台县| 蓝山县|