您的位置:首页 > 移动开发

C# winapp创建tabpage窗体的简单示意

2010-03-22 15:13 561 查看
需要建立至少3个窗体:FormMain,FormBase,FormChild
它们的关系为:
FormMain是程序的MDI主窗体,添加tabcontrol作为实现不同功能子窗体的容器;
FormChild是继承于FormBase的子窗体,计划显示在主窗体的tabcontrol新建tabpage中;
FormBase类是FormChild类的基类,包含控制所有继承窗体显示行为的代码。
在FormMain中,添加名为TabFlat的tabcontrol控件,并编写显示子窗体的方法(或相同功能的代码)如下:
private void ShowWindow(BaseForm newForm)
{
newForm.MdiParent = this;
newForm.ShowForm();
}
在FormBase中,编写控制子窗体显示行为的方法(或相同功能的代码)如下:
public virtual void ShowForm()
{
Form Father = this.MdiParent;
TabPage Container = new TabPage(this.Text);
this.Parent = Container;
this.Dock = DockStyle.Fill;
((TabControl)Father.Controls["TabFlat"]).TabPages.Add(Container);
this.Show();
}
适当修改FormChild的属性(如title等),在FormMain中添加事件调用ShowWindow方法,即可以tabpage形式在主窗体中显示子窗体。
在主窗体FormMain适当位置添加名为btnClose的按钮,为其单击响应函数添加如下代码:
foreach (TabPage CurrentPage in TabFlat.TabPages)
{
if(CurrentPage.Focus()==true)
{
CurrentPage.Controls[0].Dispose();
TabFlat.TabPages.Remove(CurrentPage);
return;
}
}
如此当单击按钮时,当前显示的Tabpage将关闭(注意:这样的代码要求TabFlat中的所有tabpage均用于如上所述的显示一个窗体,否则可能引发索引错误)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: