繁体   English   中英

Select 按其标签/文本的 TabPage

[英]Select a TabPage by its Label/Text

我有以下代码创建一个带有 Text tab1的 TabPage :

string tabTitle = "tab1";
TabPage createdtabpage = new TabPage(tabTitle);
tabControl1.TabPages.Add(createdtabpage);

我想使用我设置的字符串获取 TabPage,然后使用 select 它。 也许是这样的:

 //this will select the tab that has a title of "tab1"
 this.tabControl1.SelectedTab = tabControl1.getTabByTitle(tabTitle);

有没有办法完成这样的事情?
谢谢你的帮助。

如果您可以为TabPage.Text属性和TabPage.Name属性分配相同的值,以防分配的 Text 与 Name 属性约束兼容(就像当 Text 为"tab1"时一样,如问题所示),然后只需 select TabPage 的名称:

string tabTitle = "tab1";
tabControl1.TabPages.Add(new TabPage(tabTitle));

// [...]

tabControl1.SelectedTab = tabControl1.TabPages[tabTitle];

如果 Text 不兼容(如"This is TabPage1" ),那么您可以使用 LINQ 的 OfType ()到 select 指定 Text 的 TabPage:

tabControl1.SelectedTab = tabControl1.TabPages.OfType<TabPage>()
    .FirstOrDefault(tp => tp.Text == tabTitle);

在这种情况下,如果未找到 TabPage, FirstOrDefault()将返回null ,并且 TabControl 将在 UI 中显示未选择 TabPage。

暂无
暂无

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

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