c#如何动态增加选项卡并给tabPage绘制关闭按钮
c#教程:winform程序动态增加Tab选项卡,并给tabpage绘制关闭按钮,实现关闭功能
操作方法
- 01
打开vs2010开发工具,新建一个工程项目,在默认打开的Form1窗体上,拖放一个TreeView控件,用于显示树节点;拖放一个TabControl控件,用来给其TabPage选项卡绘制关闭按钮。这里演示Demo将窗体重命名为【FrmTabContrlSelect】,属性Text值为【c# 动态增加和关闭选项卡】;TabControl控件name属性值修改为【MainTabControl】,窗体布局如图所示。
- 02
窗体布局做好后,切换到FrmTabContrlSelect.cs功能代码页,添加代码。首先自定义一个【tabControl1_DrawItem】方法。在方法中添加绘制“X”关闭符合的代码。先添加TabPage属性,然后画一个矩形框,再填充矩形框,最后画关闭符号,具体代码如图所示。
- 03
自定义【tabControl1_MouseDown】方法,实现鼠标点击“X”符号关闭选项卡,计算关闭区域,如果鼠标在区域内点击,就关闭选项卡,具体代码如图所示。
- 04
定义一个布尔类型的【ErgodicModiForm】方法,遍历选项卡判断是否存在该子窗体,具体代码如图所示。
- 05
选择treeView1,为【AfterSelect】事件,添加实现代码。点击TreeView控件的子节点一【选项卡一】,打开TabControl控件的【选项卡一】页面,点击子节点二【选项卡二】,打开【选项卡二】页面,同时检测是否已打开该页面,具体代码如图所示,
- 06
初始化窗体第一次加载Load事件。初始化TreeView控件,将自定义的【tabControl1_DrawItem】方法和【tabControl1_MouseDown】方法加载到【MainTabControl】控件中。
- 07
查看运行效果。在左边TreeView中点击选项卡一节点,右边TabControl控件打开选项卡一页面,点击选项卡二节点,打开选项卡二页面。