动态或按钮单击在c#中的选项卡控件中搜索特定选项卡

时间:2014-08-05 06:06:47

标签: 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;
   }

2 个答案:

答案 0 :(得分:0)

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;
        }
    }        
}

答案 1 :(得分:0)

您应该维护一个字典(Dictionary<string, string>),其中包含&#34; Tab Display Name-TabID&#34;对:

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

然后将标签添加到新Items控件上的ComboBox集合中。

将您的代码添加到SelectedValueChanged' event handler attached to the ComboBox`。

// `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];
    }
}

这样您就可以预先输入标签名称,并在您选择后自动切换。