C# tabpage

来源:百度知道 编辑:UC知道 时间:2024/07/06 15:31:10
我在设计窗口 给tabControl1 控件中添加了 Name=销售设置的 tabpage; 在代码中先tabControl1.TabPages.Remove(销售设置)移除;然后如果1:tab.TabPages.Add(销售设置);可以出现原来的tabpage;
问题是我现在用变量表示a="销售设置".
tab.TabPages.Add(b);出现的是新的tabpage
2:tabPage tb=new tabPage();
tb.name=b;
tab.TabPages.Add(tb);也是新的tabpage.
我该怎么写(用变量)才能出现以前的tabpage?
譬如我点treeview.selected.text="销售设置";触发显示哪个tabcontrol的tabpage
我只能根据name或者text 去选择.
补充:tabControl1.TabPages.Remove(销售设置) 都移除了. 我试过,移除过后tab.TabPages.Add(销售设置);能还原,
补充:如何判断tabpage的NAME(/text)为变量a对应名称的tabpage是否实例化,有相关代码供学习吗?wildbanana@163.com.

你可以先把tabpage存在hashtable中
核心代码如下(treeview 的节点的text和tabcontrol1中的tabpage名字相对应)
...
Hashtable ht = new Hashtable();
private void Form1_Load(object sender, EventArgs e)
{

ht.Add("tabPage1", tabPage1);
ht.Add("tabPage2", tabPage2);
}
...
private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
tabControl1.TabPages.Add((TabPage)ht[treeView1.SelectedNode.Text]);
}
这样添加的就不是新的tabpage而是原有remove掉的
别忘了你的额外50分的承诺
哈哈

把tabPage用变量记录下来
而不是把tabPage的name记录下来

//补充
点treeview的时候循环遍历tabControl1 的tabpage看有没有打开的,如果有就选中已有的,没有再添加新的

//补充
每个tabpage都用一个变量表示,
点treeview的时候看对应的tabpage变量是否已经实例化,如果有就添加已有的,没有再生成新的付给这个变量,并添加到tabcontrol中