中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C#中SelectedIndexChanged事件有什么用

發布時間:2021-08-13 10:43:41 來源:億速云 閱讀:380 作者:小新 欄目:開發技術

這篇文章主要介紹了C#中SelectedIndexChanged事件有什么用,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

SelectionChangeCommitted事件

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

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

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

區別:

  1. SelectedIndexChanged和SelectedValueChanged可以通過編程的方式更改屬性而觸發事件,但SelectionChangeCommitted事件必須由用戶操作選定選項才能觸發。

  2. 在初始化時(設置源)SelectedIndexChanged和SelectedValueChanged都會被調用,而SelectionChangeCommitted沒有這個問題。

  3. SelectionChangeCommitted也有一個小問題,當打開下拉菜單,用鍵盤的上下光標鍵選擇條目后(不用鼠標點擊),鼠標點擊其他控件,使焦點轉移,此時comboBox的Text屬性已改變,SelectedIndex屬性也已改變,但這樣的操作不會觸發SelectionChangeCommitted事件。結論:SelectionChangeCommitted一定要由鼠標選擇才能觸發(個人感覺)。

關于事件的觸發

設置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屬性時不觸發兩種事件)

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

感謝你能夠認真閱讀完這篇文章,希望小編分享的“C#中SelectedIndexChanged事件有什么用”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

东山县| 迭部县| 同仁县| 赤城县| 湟中县| 阳信县| 连山| 东乡县| 长子县| 凤凰县| 万荣县| 衡阳市| 盈江县| 峨边| 宁安市| 连平县| 万宁市| 拉孜县| 改则县| 高台县| 旬邑县| 哈密市| 德令哈市| 宁城县| 沙田区| 盐源县| 通渭县| 措勤县| 汉川市| 太仆寺旗| 保定市| 泊头市| 鹿邑县| 宁波市| 和田县| 通城县| 青铜峡市| 肇庆市| 沿河| 克什克腾旗| 肥西县|