2011-12-26 51 views
0

讓我們說,我有一個項目,因爲它:我如何自動完成combobox匹配字符串的任何部分不僅是字符串的開始?

我正在尋找一種方式是在組合框的項目,任何部分comobobox搜索中輸入任何文字不僅在字符串的開始,並設置成自動補全建議。

例如:

文本輸入:ProcessorPHPHypertext匹配:PHP Hypertext Processor 文本輸入:american匹配:ObamaBill gates 等。

項目應被定義爲在組合框建議的匹配。

UPDATE 我當前的代碼:

private void comboBox1_TextChanged(object sender, EventArgs e) 
    { 
     int i = 0; 
     foreach(object item in comboBox1.Items) 
     { 
      string val = (string)item; 
      string[] words = val.Split(' '); 

      foreach (string word in words) 
      { 
       if (word == comboBox1.Text) 
       { 
        ////the difficult now it is as set the val variable value in combobox suggestions box? 
       } 
      } 

      i++; 
     } 

    } 

我該怎麼辦呢?我希望這很清楚。提前致謝。

+0

@DJKRAZE:不是。你可以發表一個例子怎麼做?在comobobox中,這個困難顯示出來了。 – Jack 2011-12-26 01:04:30

+0

您可以通過多種方式來執行此操作...檢查按鍵或關鍵事件。我會使用或創建一個字符串[]以及一個switch語句..到目前爲止您嘗試了哪些代碼..您必須願意嘗試先編寫代碼.. – MethodMan 2011-12-26 01:10:39

+0

@DJKRAZE:檢出更新。 – Jack 2011-12-26 01:17:19

回答

0

你的循環也應該改變..如果你知道它將有文本使用類似這樣的初學者。

foreach (string text in combobox1.Items.Cast<string>()) 
{ 
    //do stuff with the text 
} 
+0

謝謝。但我如何在comobobox的建議框中設置匹配的項目? – Jack 2011-12-26 01:42:52

+0

如果你有兩個組合框通過使用Items.Add方法設置它們,他們有添加和刪除..現在你..你必須找出你自己的邏輯添加和刪除值,所以你沒有重複..但一個簡單的解決方法是清除()或刪除之前添加..這是你的電話 – MethodMan 2011-12-26 01:46:32

相關問題