C#加载窗体到TabControl

该代码示例展示了如何在C#中限制TabControl最多打开5个子窗口,并在达到限制时给出提示。通过动态加载窗体(如frmTest)到新的TabPage,实现了窗体在TabControl内的显示。当双击TabControl的页签时,可以关闭对应的窗体。这个功能对于多窗口管理和界面组织非常实用。

加载窗体到TabControl的方法:

private void AddNewTab(string frmName,string strTabName)
{
	if(tcMain.TabPages.Count==5)
	{
		MessageBox.Show("最多只能打开5个子窗口!");
		return;
	}
	else
	{
		tcMain.Visible = true;
		Assembly asm = Assembly.GetExecutingAssembly();
		Form fm = asm.CreateInstance("wisever."+frmName ) as Form ;
		fm.TopLevel = false;
		fm.WindowState = FormWindowState.Maximized;
		fm.FormBorderStyle = FormBorderStyle.None;
		var newPage = new TabPage((tcMain.TabPages.Count+1).ToString() + "-" + strTabName);
		newPage.Controls.Add(fm);
		tcMain.TabPages.Add(newPage);
		tcMain.SelectedTab = tcMain.TabPages[tcMain.TabPages.Count - 1];
		fm.Show();
	}
}

点击菜单项时,执行以下语句:

private void tsmTest_Click(object sender, EventArgs e)
{
	AddNewTab("frmTest", "Test" );
}

效果图:
效果图
关闭页签时,在页签上双击鼠标即可。

private void tcMain_MouseDoubleClick(object sender, MouseEventArgs e)
{
	tcMain.TabPages.RemoveAt(tcMain.SelectedIndex);
	if (tcMain.TabPages.Count == 0) tcMain.Visible = false;
}
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值