在tabcontrol C#中搜索标签页

Man*_*yak 7 c# winforms

我的应用程序中有一个tabcontrol.我有一个列表框,其中包含错误行号和文件名以及文件路径.双击我想添加新标签页.标签页的标题应该是列表框中文件的名称.如果具有特定文件名的tabpage已经存在,那么它不应该打开新的tabpage,光标应该指向该页面.如何检索tabpages的名称.

private void lstErrorList_MouseDoubleClick(object sender, MouseEventArgs e)
        {
            ArrayList errorType = new ArrayList();
            if (lstErrorList.Items.Count > 0)
            {
                string error = lstErrorList.SelectedItem.ToString();



                {

                    int result = error.LastIndexOf('\\');
                    string filename = error.Substring(result + 1, error.Length - (result + 1));
                    int pagecount;
                    TabPage tp = new TabPage();
                    pagecount = this.tabControl1.TabPages.Count;
                    for(int tbpagecount=0;tbpagecount<pagecount;tbpagecount++)
                    {
                        pagelist.Add(this.tabControl1.TabPages.ToString());
                    }
                    if (pagelist.Contains(filename))
                    {


                    }
                    else
                    {
                        this.tabControl1.TabPages.Insert(pagecount, filename);
                        pagecount++;
                    }

                    if (fileNamesList.Count == 0)
                        fileNamesList.Add(filename);
                    else
                    {
                        if (fileNamesList.Contains(filename))
                        {
                            //fileNamesList.Add("");
                        }
                        else
                        {
                            fileNamesList.Add(filename);

                        }

                    }
                }  
Run Code Online (Sandbox Code Playgroud)

gri*_*mig 9

        bool found = false;
        foreach (TabPage tab in tabControl1.TabPages) {
            if (filename.Equals(tab.Name)) {
                tabControl1.SelectedTab = tab;
                found = true;
            }
        }
        if( ! found)
                tabControl1.TabPages.Add(filename,filename);
Run Code Online (Sandbox Code Playgroud)


小智 6

        var tabPage = tabControl1.TabPages[filename];
        if (tabPage != null)
        {
            tabControl1.SelectedTab = tabPage;
        }
        else
        {
            tabControl1.TabPages.Add(filename, filename);
        }
Run Code Online (Sandbox Code Playgroud)

  • 别担心@Edy,只有你和我知道这是一个更好的答案;)哈哈 (2认同)