我目前正在从事一个小型项目,以适应 Visual Studio 2012 中的表单,因为我通常只使用控制台应用程序。我当前的布局设计为使用选项卡,用户将指定他们需要多少个选项卡用于此应用程序。然后他们填写一些信息,并将其格式化并输出到用户指定位置的文件中。关于问题。
为了阻止现有的重复选项卡,我使用以下内容:
private void comboTabs_SelectedIndexChanged(object sender, EventArgs e)
{
if (comboSkills.SelectedIndex == 0)
{
tabControl1.TabPages.Remove(tab8);
tabControl1.TabPages.Remove(tab7);
tabControl1.TabPages.Remove(tab6);
tabControl1.TabPages.Remove(tab5);
tabControl1.TabPages.Remove(tab4);
}
//repeat for Index 1, 2 and so on
}
将始终至少有 3 个选项卡,因此组合框上的第一个选项会删除选项卡 4 到 8。下一个选项会执行相同的操作,但随后会再次添加选项卡 4。这将继续进行以下选择。有什么方法可以让我更方便地做到这一点?
第二个问题,每个选项卡都有一系列文本框和组合框,用户可以从中选择信息。我遇到的问题是我需要确定用户选择了多少个选项卡,然后只从这些选项卡中提取信息。我知道我可以通过以下方式获得标签的数量:
int numberoftabs = tabControl1.TabCount;
但在那之后,我似乎无法从他们那里读取信息。我打算做
for (int i = 0; i < numberoftabs; i++)
{
//get textbox text of tab i and so on
}
有什么办法可以做到这一点吗?我希望使用选项卡布局,因为我非常喜欢我当前的布局。如果有区别,所有选项卡都具有相同的布局,并共享一个命名约定,例如选项卡 1 文本框 1 是 textTab1Name,选项卡 2 文本框 2 是 textTab2Name 等等。