日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

C#实现Combobox自动匹配字符

發布時間:2023/11/29 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C#实现Combobox自动匹配字符 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

不多說了,如圖,應客戶要求,下拉框中需要自動匹配字符,可能有些人一早就對此很熟,但相對于我還是首次使用,還是花了一點時間,現記錄下來,也希望能幫助大家更好的理解.

首先要設定Combobox的DropDownStyle屬性為DropDown,而不是DropDownList.然后設定匹配數據源,有兩種方法

?第一種.采用CustomSource當做提示集合,自已構造的下拉提示內容.

1 //經營單位 2 3 AutoCompleteStringCollection strings = new AutoCompleteStringCollection(); 4 DataTable dt = customformOp.CusList().Tables[0]; 5 if (dt.Rows.Count > 0) 6 { 7 //cmbTRADE_CO.DisplayMember = "CusName";//顯示字段 8 //cmbTRADE_CO.ValueMember = "Cus"; 9 //cmbTRADE_CO.DataSource = dt; 10 //cmbTRADE_CO.SelectedIndex = -1; 11 for (int i = 0; i < dt.Rows.Count; i++) 12 { 13 strings.Add(dt.Rows[i]["CusName"].ToString()); 14 } 15 } 16 17 cmbTRADE_CO.AutoCompleteCustomSource = strings; 18 cmbTRADE_CO.AutoCompleteSource = AutoCompleteSource.CustomSource; 19 cmbTRADE_CO.AutoCompleteMode = AutoCompleteMode.SuggestAppend;

第二種.直接使用下拉列表中的項作為匹配的集合 (請仔細看兩代碼的區別: cmbTRADE_CO.AutoCompleteSource =??)

1 // AutoCompleteStringCollection strings = new AutoCompleteStringCollection(); 2 DataTable dt = customformOp.CusList().Tables[0]; 3 if (dt.Rows.Count > 0) 4 { 5 cmbTRADE_CO.DisplayMember = "CusName";//顯示字段 6 cmbTRADE_CO.ValueMember = "Cus"; 7 cmbTRADE_CO.DataSource = dt; 8 cmbTRADE_CO.SelectedIndex = -1; 9 //for (int i = 0; i < dt.Rows.Count; i++) 10 //{ 11 // strings.Add(dt.Rows[i]["CusName"].ToString()); 12 //} 13 } 14 15 // cmbTRADE_CO.AutoCompleteCustomSource = strings; 16 cmbTRADE_CO.AutoCompleteSource = AutoCompleteSource.ListItems; 17 cmbTRADE_CO.AutoCompleteMode = AutoCompleteMode.SuggestAppend;

其AutoCompleteMode的4種情況各代表:

None:關閉自動補全功能

Suggest:展開下拉列表并顯示匹配的結果

Append:自動補全

SuggestAppend:Suggest和Append的組合,即顯示下拉列表也自動補全。

最終結果效果圖:

?

?

轉載于:https://www.cnblogs.com/Geton/p/3801562.html

總結

以上是生活随笔為你收集整理的C#实现Combobox自动匹配字符的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。