多语言展示
当前在线:506今日阅读:23今日分享:25

c#如何动态增加选项卡并给tabPage绘制关闭按钮

c#教程:winform程序动态增加Tab选项卡,并给tabpage绘制关闭按钮,实现关闭功能
工具/原料
1

电脑

2

vs2010

方法/步骤
1

打开vs2010开发工具,新建一个工程项目,在默认打开的Form1窗体上,拖放一个TreeView控件,用于显示树节点;拖放一个TabControl控件,用来给其TabPage选项卡绘制关闭按钮。这里演示Demo将窗体重命名为【FrmTabContrlSelect】,属性Text值为【c# 动态增加和关闭选项卡】;TabControl控件name属性值修改为【MainTabControl】,窗体布局如图所示。

2

窗体布局做好后,切换到FrmTabContrlSelect.cs功能代码页,添加代码。首先自定义一个【tabControl1_DrawItem】方法。在方法中添加绘制“X”关闭符合的代码。先添加TabPage属性,然后画一个矩形框,再填充矩形框,最后画关闭符号,具体代码如图所示。

3

自定义【tabControl1_MouseDown】方法,实现鼠标点击“X”符号关闭选项卡,计算关闭区域,如果鼠标在区域内点击,就关闭选项卡,具体代码如图所示。

4

定义一个布尔类型的【ErgodicModiForm】方法,遍历选项卡判断是否存在该子窗体,具体代码如图所示。

5

选择treeView1,为【AfterSelect】事件,添加实现代码。点击TreeView控件的子节点一【选项卡一】,打开TabControl控件的【选项卡一】页面,点击子节点二【选项卡二】,打开【选项卡二】页面,同时检测是否已打开该页面,具体代码如图所示,

6

初始化窗体第一次加载Load事件。初始化TreeView控件,将自定义的【tabControl1_DrawItem】方法和【tabControl1_MouseDown】方法加载到【MainTabControl】控件中。

7

查看运行效果。在左边TreeView中点击选项卡一节点,右边TabControl控件打开选项卡一页面,点击选项卡二节点,打开选项卡二页面。

注意事项
1

CLOSE_SIZE常量定义关闭符号的宽,CLOSE_SIZE/2定义关闭符号的高,这样的选项卡关闭符号区域看起来比较好看一些

2

如帮助到您,烦请您点赞转发支持,谢谢!

推荐信息