在使用TabControl控件时,需要考虑自动创建的TabPage页实现——关闭功能

思路一:自定义TabControl控件,添加关闭按钮

思路二:TabControl控件TabPage显示ToolTip属性(例如双击关闭)

此处,解释思路二,实现方式

操作步骤:

第一步:TabControl添加多个TabPage页,ShowToolTip=true;

第二步:TabPage,ToolTipText="双击关闭页签";

第三步:实现双击事件MouseDoubleClick,如下所示:

 private void tabControl1_MouseDoubleClick(object sender, MouseEventArgs e)
{
//TabPage page = sender as TabPage;
//this.tabControl1.TabPages.Remove(page);
tabControl1.TabPages.RemoveAt(tabControl1.SelectedIndex);
}

动态添加TabPage参考如下

AddTabPage("DirectRegisterForm", "登记中心");

 private void AddTabPage(string formName, string formText)
{
TabPage page = this.tabContent.TabPages[formName];
if (page != null)
{
tabContent.SelectedTab = page;
page.Select();
return;
} TabPage tab = new TabPage();
tab.Name = formName;
tab.Text = formText;
Form form = GetForm(formName);
form.TopLevel = false;
form.FormBorderStyle = FormBorderStyle.None;
form.Dock = DockStyle.Fill; tab.Controls.Add(form);
tabContent.TabPages.Add(tab);
tabContent.SelectedTab = tab;
form.Show();
}
  private Form GetForm(object itemName)
{
try
{
this.Cursor = Cursors.WaitCursor; Assembly assembly = Assembly.GetExecutingAssembly();
var path = "ZB.QueueSys.View." + itemName.ToString();
Form form = assembly.CreateInstance(path) as Form;
return form;
}
catch { return null; }
finally
{
this.Cursor = Cursors.Default;
}
}

  

  

  

C# Winform TabControl 双击关闭TabPage的更多相关文章

  1. winform退出或关闭窗体时弹窗提示代码:转

    winform退出或关闭窗体时弹窗提示代码,当我们点击窗体的 X 按钮时,会弹出一个对话框,询问我们是直接退出,还是最小化到托盘,还是取消这个行为.或是是否保存当前修改等等.以下以最小化到托盘为例. ...

  2. QTabWidget标签实现双击关闭(转)

    重载了QTabWidget(由于tabBar()是protected),这样就可以获取到标签了. 1 class Tab : public QTabWidget 2 { 3 Q_OBJECT 4 pu ...

  3. 左键双击关闭pagecontrol中的一个分页即一个tabsheet,功能像遨游浏览器一样

    左键双击关闭pagecontrol中的一个分页即一个tabsheet,功能像遨游浏览器一样 procedure TfrmServerSetup.PageControl1MouseDown(Sender ...

  4. Tabcontrol动态添加TabPage(获取或设置当前选项卡及其属性)

    http://blog.csdn.net/xiongxyt2/article/details/6920575 •MultiLine 属性用true 或false来确定是否可以多行显示 •Appeara ...

  5. winform窗体的关闭与资源的释放

    单纯的this.Dispose(); this.Close();有时候并不能释放出所用资源.因为Dispose()方法,虽然能释放当前窗体的资源,却不能强制结束循环,  要想强制突出当前程序要用:Sy ...

  6. winform DataGridView双击修改单元格的值 分类: DataGridView 2014-08-04 19:39 150人阅读 评论(0) 收藏

    定义全局变量 string abcmycode = "";//当前行自编号 bool tf = false;//是否双击 //双击可编辑         private void ...

  7. Winform TabControl控件使用

    运行效果: 代码: /// <summary> /// 添加选项卡 /// </summary> /// <param name="sender"&g ...

  8. Winform中双击DevExpress的TreeList的树形节点怎样获取当前节点

    场景 DevExpress的TreeList怎样设置数据源,从实例入手: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10254 ...

  9. winForm 中子窗体关闭但不释放对象,方便下次继续打开

    方法一: 修改子窗体中自动生成的Dispose方法(在Form.Designer.cs文件中) /// <summary> /// Clean up any resources being ...

随机推荐

  1. VAO和VBO

    我想大家都已经熟悉VBO了吧.在GL3.0时代的VBO大体还是处于最重要的地位,但是与此同时也出现了不少新的用法和辅助役,其中一个就是VAO.本文大致小记一下这两者的联系,帮助大家理解一下这个角色.— ...

  2. 剑指offer难题代码

    重建二叉树 题目描述 输入某二叉树的前序遍历和中序遍历的结果,前重建出该二叉树.假设输入的前序遍历和中序遍历的结果中都不含重复的数字.假如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序 ...

  3. mysql中单个字段包含','转换成多条记录

    问题:把value中的值取出作为另外一个表的where条件时,必须把value中的用','分隔的每一个id截取出来 解决方法: ),) ) #本文参考自网络某文章,非原创

  4. CORS扫描工具

    参数链接: https://github.com/chenjj/CORScanner 未发现Cors风险 已发现Cors风险 py2遇到的坑: 提示https ssl告警 /usr/local/lib ...

  5. hadoop java VM 参数设置 默认native栈大小设置

    问题总结: 程序栈太小,64位机器的栈大小默认比32位的大,将程序从64放到32中执行则报错,需要修改初始堆栈大小 (.so库中提供两个函数接口,一个里面使用的是尺寸较大的图像,另一个处理的图像很小, ...

  6. eNSP——ARP及ProxyARP

    原理: ARP (Address Resolution Protocol)是用来将IP地址解析为MAC地址的协议.ARP表项可以分为动态和静态两种类型.动态ARP是利用ARP广播报文,动态执行并自动进 ...

  7. DataNode 详解及HDFS 2.X新特性

    1. 工作机制 一个数据块在 DataNode 上以文件形式存储在磁盘上,包括两个文件,一个是数据本身,一个是元数据包括数据块的长度,块数据的校验和,以及时间戳. DataNode 启动后向 Name ...

  8. [转帖]windows CIFS sabma协议识

    windows CIFS sabma协议识别 https://www.cnblogs.com/tcicy/p/9992871.html 公司的一个共享服务器就是 win2003的 mount 的时候 ...

  9. TypeScript的变量声明

    1.全新的变量声明方式 let和const是JavaScript ES6中新添加的变量声明方式.let在很多方面与var是相似的,但是它可以避免一些在JavaScript里常见一些问题. 而const ...

  10. redis集群(多机)分布

    一.实现原理 一致性哈希算法(Consistent Hashing): http://www.zsythink.net/archives/1182 二.配置两个redis服务,端口号要不一致 三.代码 ...