0

我想将标签页添加到 tabcontrol1,并且需要动态创建标签页

 int a=10;
 TabPage tabpage"+a+" = new TabPage();

我怎样才能做到这一点:

tabpage10
tabpage12
tabpage13

动态创建

4

3 回答 3

6

你不能,也不应该尝试。相反,要么有一个数组或列表(如果你的数字都是正数,实际上从 0 附近开始)或者Dictionary<int, TabPage>一个更一般的映射。

每当你发现你有一个值的集合时,你应该找到一个集合类型——而不是许多不同的变量,这些变量的名字恰好以一个共同的前缀开头。

于 2013-09-10T12:07:42.630 回答
1

你不能动态生成变量名——你也不想。相反,请考虑将标签页添加到集合中。

List<TabPage> tabs = new List<TabPage>();
tabs.Add(new TabPage()); // 0
tabs.Add(new TabPage()); // 1
tabs.Add(new TabPage()); // 2
于 2013-09-10T12:07:44.763 回答
0

如果你在winforms中:

int a = 10;
tabcontrol1.TabPages.Add(new TabPage("text") { Name = "tabpage" + a });
a++;

然后访问

var page = tabcontrol1.TabPages[0];

或按名称

var page = tabcontrol1.TabPages["tabpage" + a];
于 2013-09-10T12:17:58.757 回答