繁体   English   中英

在tabcontrol C#中搜索标签页

[英]Searching for a tabpage in the tabcontrol C#

我的应用程序中有一个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);

                        }

                    }
                }  
        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);
        var tabPage = tabControl1.TabPages[filename];
        if (tabPage != null)
        {
            tabControl1.SelectedTab = tabPage;
        }
        else
        {
            tabControl1.TabPages.Add(filename, filename);
        }

这样的事情怎么样?

        string fileName = "";
        bool isPresent = false;

        for (int i = 0; i < tabControl1.TabPages.Count; i++)
        {
            if (tabControl1.TabPages[i].Name == filename)
            {
                isPresent = true;
                break;
            }
        }

        if (isPresent)
        {
                tabControl1.TabPages.Add(filename);
        }
        else
        {
                tabControl1.SelectTab(tab.TabIndex);
        }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM