visual studio崩潰
你是不是經常會遇到一編輯combox,visual studio就會立馬崩潰。一直都無法了解是什麼原因,然後後來發現居然是因為有道的截屏翻譯,關掉截屏翻譯就好了。
combox綁定資料源
SqliteDataReader dr;
if (dr.Read())
{
this.comboBox1.Items.Add(dr[]);
}
自動補全的功能
我們希望在combox中實作輸入的時候,有推薦的文本自動補全功能。我們主要隻需要設定AutoCompleteMode和AutoCompleteSource這兩個屬性就可以了。
模糊查詢
上面那個自動補全的功能隻能實作從左到右進行比對,而不能進行模糊比對。假設我們的combobox裡面有“張三“,如果輸入”張“可以進行比對,但是我們如果輸入”三“的話就無法實作比對,而combobox自身并沒有這個屬性,是以我們需要自己寫一個方法來實作。
List<string> listOnit = new List<string>();
List<string> listNew = new List<string>();
//用于模糊查詢
private void BindComboBox()
{
string str = "select License from tb_drug";
SQLiteDataReader sdr = sh.getcom(str);
while (sdr.Read())
{
if (sdr[].ToString() != " " && sdr[].ToString() != null)
listOnit.Add(sdr[].ToString());
}
sdr.Close();
this.comboBox1.Items.AddRange(listOnit.ToArray());
}
private void comboBox1_TextUpdate(object sender, EventArgs e)
{
this.comboBox1.Items.Clear();
listNew.Clear();
foreach (var item in listOnit)
{
if (item.Contains(this.comboBox1.Text))
{
listNew.Add(item);
}
}
this.comboBox1.Items.AddRange(listNew.ToArray());
this.comboBox1.SelectionStart = this.comboBox1.Text.Length;
Cursor = Cursors.Default;
this.comboBox1.DroppedDown = true;
}