[英]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.