簡體   English   中英

動態地或按鈕單擊C#中選項卡控件中的“搜索特定選項卡”

[英]Dynamically or button click Search specific tab in tab control in c#

我為我的辦公室制作了一些應用程序,並且此應用程序中的標簽太多(超過50個),我想使用文本框搜索標簽,如果可能的話,有人可以顯示出如何動態搜索而不是單擊搜索按鈕

這是我嘗試過的代碼

     private void button62_Click(object sender, EventArgs e)
   {
       if (secondtabcontainer.TabPages.ContainsKey.Equals("chattextbox"))
           secondtabcontainer.SelectedTab = secondtabcontainer.TabPages["tabPage17"];

   }

   private void textBox55_TextChanged(object sender, EventArgs e)
   {

       string chattextbox;
       chattextbox = textBox55.Text;
   }

TextChanged事件中嘗試以下操作:

private void textBox55_TextChanged(object sender, EventArgs e)
{      
    string sTabName = textBox55.Text;

    foreach (TabPage tab in secondtabcontainer.TabPages) 
    {
        if (sTabName.Equals(tab.Name)) 
        {
            secondtabcontainer.SelectedTab = tab;
            break;
        }
    }        
}

您應該維護一個包含“標簽顯示名稱-標簽ID”對的詞典( Dictionary<string, string> ):

Dictionary<string, string> tabs = new Dictionary<string, string>();
// sample entries
tabs.Add("First Tab", "tab1");
tabs.Add("Second Tab", "tab2");
// ...
tabs.Add("chattextbox", "tab17");

然后將選項卡添加到新的ComboBox控件上的Items集合中。

將代碼添加到SelectedValueChanged' event handler attached to the ComboBox`的SelectedValueChanged' event handler attached to the

// `TabsList` is a new control that make the tabs searchable.
protected void TabsList_SelectedValueChanged(object sender, EventArgs e)
{
    if (TabsList.SelectedIndex != -1)
    {
        var tabid = tabs[TabsList.SelectedText];
        secondtabcontainer.SelectedTab = secondtabcontainer.TabPages[tablid];
    }
}

這應該允許您預先輸入標簽的名稱,並在選擇后自動切換。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM