溫馨提示×

溫馨提示×

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

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

C# WinCE下ComboBox實現(xiàn)模糊搜索代碼集合

發(fā)布時間:2020-05-11 10:53:52 來源:億速云 閱讀:496 作者:Leah 欄目:開發(fā)技術(shù)

這篇文章主要為大家詳細(xì)介紹了C# WinCE下ComboBox實現(xiàn)模糊搜索的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下。

private ComboBox ComboBoxCurrent = new ComboBox();

       private ListView ListViewCurrent = new ListView();
       private string strFlag = "";
       private void P_DefinListViewPosition( Panel panelTemp)
       {
           System.Drawing.Point Location = new System.Drawing.Point(0, ComboBoxCurrent.Location.Y + ComboBoxCurrent.Height);
           int Height = panelTemp.Height - (ComboBoxCurrent.Location.Y + ComboBoxCurrent.Height) - 30;
           if (Height < 60)
           {
               Location = new Point(3, 50);
               Height = ComboBoxCurrent.Location.Y - 50;
           }
           ListViewCurrent.Location = new Point(3, Location.Y + panelTemp.Location.Y);
           ListViewCurrent.Height = Height;
           ListViewCurrent.BackColor = Color.LightBlue;
           //ListViewCurrent.Items[0].BackColor = System.Drawing.Color.Blue;
           //ListViewCurrent.Items[0].Selected = true;
           this.ListViewCurrent.Visible = true;
       }
       private void P_ListView_ICItem_DoubleClick(object sender, EventArgs e)
       {
           ListViewCurrent.Visible = false;
           if (ListViewCurrent.SelectedIndices.Count == 0)
           {
               return;
           }
           DataRow row = this.ListViewCurrent.Items[this.ListViewCurrent.SelectedIndices[0]].Tag as DataRow;
           //strFlag
           ComboBoxCurrent.Text = row["FName"].ToString();
           ComboBoxCurrent.Tag = row;
           ComboBoxCurrent.Focus();
       }
       private void P_ListView_KeyDown(object sender, KeyEventArgs e)
       {
           if (e.KeyCode == Keys.Return)
           {
               P_ListView_ICItem_DoubleClick(sender, e);
               return;
           }
           if (e.KeyCode == Keys.Escape)
           {
               ListViewCurrent.Visible = false;
               ComboBoxCurrent.Focus();
               return;
           }
       }
       private void P_comboBox_KeyDown(object sender, KeyEventArgs e)
       {
           if (e.KeyCode == Keys.Return /*&& listViewToControl.Visible == false*/)
           {
               string FNumber = ComboBoxCurrent.Text.Trim();
               if (FNumber.Length < 2)
               {
                   labelStatus.Text = "搜索條件太短,請輸入查詢條件!";
                   return;
               }
              string strSQL = @"select  top 50
t_ICItem.FItemID
,t_ICItem.FNumber
,t_ICItem.FName
,t_ICItem.FModel
,t1.FName as FUnitName
from t_ICItem Left Join t_MeasureUnit t1 on t_ICItem.FUnitID=t1.FItemID  
where t_ICItem.FNumber like '%" + FNumber + @"%'
or t_ICItem.FName like  '%" + FNumber + @"%'
";
               DataTable tableTemp = new DataTable();
               Cursor.Current = Cursors.WaitCursor;
               uint uiBeginTime = BaseWin32Function.GetTickCount();//計時開始
               if (true != ClassWebService.WebGetDataSetFromService(strSQL, ref tableTemp))
               {
                   labelStatus.Text = "網(wǎng)絡(luò)超時,請重新操作或檢查連網(wǎng)狀態(tài)!" + CPublicParameters.P_ReturnTimePassed(uiBeginTime).ToString();
                   return;
                   //網(wǎng)絡(luò)失敗,直接返回。
               }
               if (CPublicParameters.GetDataTableCountAll(tableTemp) < 1)
               {
                   labelStatus.Text = "沒有查詢到任何記錄,請重新操作!" + CPublicParameters.P_ReturnTimePassed(uiBeginTime).ToString();
                   return;
               }
               labelStatus.Text = "查找到記錄" + CPublicParameters.GetDataTableCountAll(tableTemp).ToString() + @"條,請按上下鍵選擇!" + CPublicParameters.P_ReturnTimePassed(uiBeginTime).ToString();
               CPublicParameters.DatatableSort(ref tableTemp, "FNumber");
               ListViewCurrent.Items.Clear();
               ListViewCurrent.BeginUpdate();
               for (int i = 0; i < CPublicParameters.GetDataTableCountAll(tableTemp); i++)
               {
                   DataRow dtRow = tableTemp.Rows[i];
                   ListViewItem lv = new ListViewItem(new string[] { dtRow["FNumber"].ToString(), dtRow["FName"].ToString() });
                   lv.Tag = dtRow;
                   ListViewCurrent.Items.Add(lv);
               }
               ListViewCurrent.Columns[0].Text = "產(chǎn)品代碼";
               ListViewCurrent.Columns[0].Width = 100;
               ListViewCurrent.Columns[1].Text = "名稱";
               ListViewCurrent.Columns[1].Width = 140;
               this.ListViewCurrent.EndUpdate();
               P_DefinListViewPosition(panel6);
               return;
           }
           if (e.KeyCode == Keys.Up && ListViewCurrent.Visible == true)
           {
               ListViewCurrent.Focus();
               return;
           }
           if (e.KeyCode == Keys.Down && ListViewCurrent.Visible == true)
           {
               ListViewCurrent.Focus();
               return;
           }
           if ((e.KeyCode == Keys.Escape || e.KeyCode == Keys.F14) && ListViewCurrent.Visible == true)
           {
               ListViewCurrent.Visible = false;
               return;
           }
       }
       private void comboBox10_KeyDown(object sender, KeyEventArgs e)
       {
           ComboBoxCurrent = comboBox10;
           ListViewCurrent = listView1;
           P_comboBox_KeyDown(sender, e);
       }
       private void listView1_ItemActivate(object sender, EventArgs e)
       {
           P_ListView_ICItem_DoubleClick(sender, e);
       }
       private void listView1_KeyDown(object sender, KeyEventArgs e)
       {
           if (e.KeyCode == Keys.Return)
           {
               P_ListView_ICItem_DoubleClick(sender, e);
               return;
           }
           if (e.KeyCode == Keys.Escape)
           {
               ListViewCurrent.Visible = false;
               ComboBoxCurrent.Focus();
           }

       }

看完上訴內(nèi)容,你們掌握C# WinCE下ComboBox實現(xiàn)模糊搜索的方法了嗎?如果想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI