2013-03-03 72 views
0

說,香港專業教育學院的項目已經存在一個列表框,說項目是搜索項在被搜索的產品在文本框和無按鈕單擊C#列表框中

Ant 
Adam  
Ball 
Cat 
Dog 
Ear 
Frog 

列表框上面有一個文本框提示用戶搜索

說,如果我在文本框中輸入廣告那麼它必須指向ADAM如果我刪除一個那麼它必須指向狗 切不可用一個按鈕來搜索

另外,如果我在列表框中的項目點擊,然後旁邊的列表框中有一個文本框,它說嗨,我是貓

我看到它的不正確使用文本框來顯示您好,我是Cat我應該如何顯示有關選定項目的詳細信息。

找到解決自己

private void textBox1_TextChanged(object sender, EventArgs e) 
    { 
     int index = listBox1.FindString(textBox1.Text, -1); 
     if (index != -1) 
     { 
      listBox1.SetSelected(index, true); 
     } 
    } 
+0

找到我的自我解決方案 private void textBox1_TextChanged(object sender,EventArgs e) int dex = listBox1.FindString(textBox1.Text,-1); if(index!= -1) { listBox1.SetSelected(index,true); } } – 2013-03-03 09:04:23

回答

0

是否必須是一個列表框?如果您改用ComboBox,則可以使用自動完成功能。例如,將AutoCompleteMode設置爲'SuggestAppend',將AutoCompleteSource設置爲'ListItems'。列表框沒有內置的功能,所以你必須自己實現它。

此外,對於標籤或文本框旁邊說,「你好,我是貓」 ..或任何..使用SelectedIndexChanged事件。在那裏,你可以做這樣的事情:

myLabel.Text = "Hi, I'm " + myComboBox.SelectedItem.ToString()

1

您需要在文本框的「TextChanged」事件更新列表框。

得到寫在這個事件中的文本框中的文本,遍歷列表框的項目,做Text.Contains

protected void TextBox1_TextChanged(object sender, EventArgs e) 
     { 
      var current = TextBox1.Text; 
      foreach (ListItem item in ListBox1.Items) 
      { 
       if (item.Text.ToLower().Contains(current.ToLower())) 
        item.Selected = true; 
      } 
     } 

這是你如何抓住列表框的選擇項:

protected void ListBox1_SelectedIndexChanged(object sender, EventArgs e) 
     { 
      if(ListBox1.SelectedItem!=null) 
      { 
       Label1.Text = ListBox1.SelectedItem.Text; 
       //or you can dynamically create a label and add it to the page 
       Label lbl = new Label(); 
       lbl.Text=ListBox1.SelectedItem.Text; 
       MyContainer.Controls.Add(lbl); 
       //where MyContainer is any server side container, HtmlContainerControl 
       //or HtmlControl 
      } 
     } 
+0

什麼是ListItem – 2013-03-03 08:49:39

+0

你需要添加使用System.Web.UI.WebControls;到你的頁面 – 2013-03-03 09:07:33

+0

我無法找到命名空間。 k離開它。 單擊列表框項目時,將顯示具有選定項目文本的標籤 如何做到這一點。 – 2013-03-03 09:40:29