嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 4 元微信扫码支付:4 元
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
实现点击窗体 动态加载窗体显示,并显示对应的窗体页签
private void Form1_Load(object sender, EventArgs e)
{
this.tabControl1.Height = 22;
MyFuncLib.FrmLsit = new ArrayList();
MyFuncLib.TabList = new ArrayList();
this.IsMdiContainer = true;
this.timer1.Start();
}
private void tabPage_Click(object sender, EventArgs e)
{
TabPage tab = (TabPage)sender;
foreach (Form frm in MyFuncLib.FrmLsit)
{
if (frm.Name.Equals(tab.Name))
{
activeForm(frm);
break;
}
}
}
/// <summary>
/// 关闭Form并移除Tab
/// </summary>
/// <param name="sender">sender</param>
/// <param name="e">e</param>
public void tabPage_DoubleClick(object sender, EventArgs e)
{
// 移除Form和tab选项卡
TabPage tab = (TabPage)sender;
this.tabControl1.TabPages.Remove(tab);
foreach (Form frm in MyFuncLib.FrmLsit)
{
if (frm.Name.Equals(tab.Name))
{
MyFuncLib.FrmLsit.Remove(frm);
frm.Close();
break;
}
}
// 显示当前Form
foreach (Form frm in MyFuncLib.FrmLsit)
{
if (frm.Name.Equals(this.tabControl1.SelectedTab.Name))
{
activeForm(frm);
break;
}
}
}
/// <summary>
/// 显示Form,并进行必要的设置
/// </summary>
/// <param name="frm"></param>
private void showForm(Form frm)
{
frm.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
frm.MdiParent = this;
frm.Dock = DockStyle.Fill;
frm.Show();
MyFuncLib.FrmLsit.Add(frm);
MyFuncLib.ActivedFrm = frm;
}
/// <summary>
/// 激活Form
/// </summary>
/// <param name="frm"></param>
private void activeForm(Form frm)
{
frm.Activate();
frm.Focus();
frm.BringToFront();
MyFuncLib.ActivedFrm = frm;
}
private void timer1_Tick(object sender, EventArgs e)
{
this.timer1.Enabled = false;
//关闭要关闭的tab
if (!string.IsNullOrEmpty(MyFuncLib.FormName))
{
foreach (Form frm in MyFuncLib.FrmLsit)
{
if (frm.Name.Equals(MyFuncLib.FormName))
frm.Close();
}
MyFuncLib.FormName = string.Empty;
}
//打开Form
if (!string.IsNullOrEmpty(MyFuncLib.WaitOpenFormName))
{
OpenOrActiveForm(true, MyFuncLib.WaitOpenFormName, string.Empty, MyFuncLib.WaitOpenFormTitle, string.Empty);
MyFuncLib.WaitOpenFormName = string.Empty;
MyFuncLib.WaitOpenFormTitle = string.Empty;
}
this.timer1.Enabled = true;
}