Winforms 选项卡控件';s ContainsKey()方法与之比较?

Winforms 选项卡控件';s ContainsKey()方法与之比较?,winforms,controls,Winforms,Controls,我想创建一个只打开内容一次的选项卡控件。打开的每个项目都需要检查容器,以确保它尚未显示。我相信我想要使用的方法就是方法,但是它总是返回一个false值 我创建了一个工作区,将对象存储在一个单独的列表中,并与选项卡控件保持同步,但感觉非常错误。我在控件的TabPages属性中有一个列表,所以我应该能够查询它 我丢失了一处房产吗?我对这种方法的期望和它的性能是否正确?如何使其正确识别已打开的选项卡 下面是一些与我正在做的类似的示例代码: private void _fillTabControl()

我想创建一个只打开内容一次的选项卡控件。打开的每个项目都需要检查容器,以确保它尚未显示。我相信我想要使用的方法就是方法,但是它总是返回一个false值

我创建了一个工作区,将对象存储在一个单独的列表中,并与选项卡控件保持同步,但感觉非常错误。我在控件的TabPages属性中有一个列表,所以我应该能够查询它

我丢失了一处房产吗?我对这种方法的期望和它的性能是否正确?如何使其正确识别已打开的选项卡

下面是一些与我正在做的类似的示例代码:

private void _fillTabControl()
{
    List<string> keys = new List<string>() { "one", "two" };
    foreach (string key in keys)
        _addTab(key);

    bool alreadyOpened = tabControl.TabPages.ContainsKey(keys[0]);
}
private void _addTab(string key)
{
    TextBox textBox = new TextBox();
    textBox.Text = key;

    TabPage tab = new TabPage();
    tab.Text = key;

    tab.Controls.Add(textBox);
    tabControl.TabPages.Add(tab);
}
private void\u fillTabControl()
{
列表键=新列表(){“一”,“二”};
foreach(字符串键入键)
_addTab(键);
bool alreadyOpened=tabControl.TabPages.ContainsKey(键[0]);
}
私有void\u addTab(字符串键)
{
TextBox TextBox=新建TextBox();
Text=key;
TabPage tab=新建TabPage();
tab.Text=key;
tab.Controls.Add(文本框);
tabControl.TabPages.Add(tab);
}
文件说明了一切:

“Name属性对应于TabControl.TabPageCollection中TabPage的键。”

如果使用的是文本属性,则应设置

tab.Name = "MyName";
然后

tabControl.TabPages.ContainsKey("MyName");

将返回真实

天啊,一时失明。谢谢