如题!
public void Show_Form(string FrmName)
{
if (FrmName == "分类设置") //判断当前要打开的窗体
{
bool re = true;
foreach (TabPage page in tabControl_Agr.TabPages)
{
if (page.Text == FrmName)
{
re = false;
this.tabControl_Agr.SelectedTab = page;//激活已打开的窗体
break;
}
}
if (re)//如果没有找到
{
tabControl_Agr.TabPages.Add(???);
this.tabControl_Agr.SelectedTab = ???;
} } }
打问号的地方如何用FrmName来表示?
public void Show_Form(string FrmName)
{
if (FrmName == "分类设置") //判断当前要打开的窗体
{
bool re = true;
foreach (TabPage page in tabControl_Agr.TabPages)
{
if (page.Text == FrmName)
{
re = false;
this.tabControl_Agr.SelectedTab = page;//激活已打开的窗体
break;
}
}
if (re)//如果没有找到
{
tabControl_Agr.TabPages.Add(???);
this.tabControl_Agr.SelectedTab = ???;
} } }
打问号的地方如何用FrmName来表示?
解决方案 »
- C#记录时间问题
- c# winform 中如何使当前窗体置于所有windows窗体的最前端?
- datatable 多次赋值还是声明多个datatable
- 调用javascript问题,急!!!先谢谢各位了!
- 在C# WEB开发中,我在datagrid中放入一个DropDownList(放入ITEM TEMPLATE 中),我如何给DropDownList赋值?
- 在asp.net1.1上不报错的c#网站页面在asp.net2.0上报错了,请问我该怎样改才能在asp.net2.0上不报错???能不能说说具体的操作步骤???
- CLR可以单独安装吗?
- SendKeys.SendWait("{UP 1000}");若把1000换成变量,应该怎么写?
- asp.net页面JS正则表达式验证问题
- 小问题
- (小女子再求一方案)TcpClient连接远程服务器积极拒绝
- winform datagirdview绑定数据库问题
this.tabControl1.TabPages.Add(FrmName, FrmName);//增加
this.tabControl1.SelectedTab = this.tabControl1.TabPages[FrmName];//激活
我想要的是这样~
窗体加载时不显示选项卡(移除选项卡)!
private void AgrMain_Load(object sender, EventArgs e)
{
foreach (TabPage page in tabControl_Agr.TabPages)
{
if (page.Text != "")
{
tabControl_Agr.TabPages.Remove(page);
}
}
}
当点击菜单时则显示相应的选项卡,则显示出对应的选项卡
#region 单击菜单调用窗体事件
public void Tool_Folk_Click(object sender, EventArgs e)
{
this.Show_Form(sender.ToString().Trim()); //调用方法
} public void Show_Form(string FrmName)
{
bool re = true;
foreach (TabPage page in tabControl_Agr.TabPages)
{
if (page.Text == FrmName)
{
re = false;
this.tabControl_Agr.SelectedTab = page;//激活已打开的窗体
break;
}
}
if (re)//如果没有找到
{
this.tabControl_Agr.TabPages.Add(this.分类设置);此处是我的一个选项卡名为“分类设置”
this.tabControl_Agr.SelectedTab = this.tabControl_Agr.TabPages[FrmName];//激活
}
}
#endregion
Dictionary<string, TabPage> pages = new Dictionary<string, TabPage>();
TabPage page = tabControl_Agr.TabPages["Name"];
if (page!=null)
{
tabControl_Agr.SelectedTab = page;
}
else
{
if (pages.TryGetValue ("Name",out page))
{
tabControl_Agr.TabPages.Add(page);
tabControl_Agr.SelectedTab = page;
}
}
public void Show_Form(string FrmName)
{
this.tabControl_Agr.TabPages.Add(this.合同分类);
}如何“this.合同分类”用FrmName来替代???
“this.合同分类”这个选项卡里面是有内容的!
tabPage2是tabcontrol中集合中的(name)
我在tabControl1中有name为tabPage1、tabPage2、tabPage3、tabPage4在窗口加载时,通编历将这些移除。现在想做的是通过“FrmName”传递来的字符串有tabPage1、tabPage2、tabPage3、tabPage4,如何通传过来的字符串来加载被移除的选项卡?
如:
string FrmNameo 字符串为tabPage2,则加载tabPage2
其实想要的就是“tabPage2”字符串转为name为tabPage2
public void Show_Form(string FrmName)
{
this.tabControl_Agr.TabPages.Add(this.tabPage2);
}如何“this.tabPage2”用FrmName来替代???
“this.tabPage2”这个选项卡里面是有内容的!前辈如有指点,请写出完整代码,非常感谢!
上面不是有么? public void Show_Form(string FrmName)
{
TabPage tb=tabControl1.TabPages["FrmName"];
this.tabControl_Agr.TabPages.Add(tb);
}
page.name=FrmName;
this.tabControl_Agr.TabPages.Add(page );
{
this.tabControl_Agr.TabPages.Add(this.tabPage2);
}如何“this.tabPage2”用FrmName来替代???你通过 FrmName判断,打开指定TabPage
你思路错误了
不是移除再根据需要加载选项卡
而是所有选项卡都在,只是隐藏了,然后根据需要去显示
比如隐藏1
那么就把选项卡1的Parent属性设置为Null
在需要的显示的时候再把Parent属性设置回去就OK了
这样在取的时候就可以根据名字去找了。虽然我没有测试过,不过应该没问题。否则你就switch去找吧
14楼的老兄:我测试了是新增一个页面,原做好的介面不显示!
17、18楼的兄弟能否详细的说一下了!最好能帮写一个具体的实例!
7楼的代码不行吗?上面那个pages集合你需要在初始化的时候把所有的tabPage加进去,然后就可以用名称去找了
不是这么悲催吧
我说的那个方法是可行的
我现在二十个page都没问题