在使用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. node.js运行内存堆溢出的解决办法

    我是在将一组80多列13万多行的数据通过node-xlsx的时候出现的内存堆溢出的情况. 解决办法时将: node app.js 改成: node --max_old_space_size=10000 ...

  2. 【leetcode_easy】532. K-diff Pairs in an Array

    problem 532. K-diff Pairs in an Array 题意:统计有重复无序数组中差值为K的数对个数. solution1: 使用映射关系: 统计数组中每个数字的个数.我们可以建立 ...

  3. Spring Aop(七)——基于XML配置的Spring Aop

    转发:https://www.iteye.com/blog/elim-2396043 7 基于XML配置的Spring AOP 基于XML配置的Spring AOP需要引入AOP配置的Schema,然 ...

  4. 慎用rm -rf

    首先,搞个回收站在~下 .bashrc或者.bash_profile加入 mkdir -p ~/.trash alias rm=trash alias r=trash alias rl='ls ~/. ...

  5. Design Compressed String Iterator

    Design and implement a data structure for a compressed string iterator. It should support the follow ...

  6. 【2019NOIP复习计划】

    (其实不应该这么叫的,应该是CSP-S了现在..) 重点关注的板子: 不知道为什么特别受出题人青睐的LCA(板子点这里) 配套练习:(紫题请自便)  (这题蓝的应该可以试试)  (对的这题也紫它还是道 ...

  7. php中的访问类型(public,private,protected)

    类型的访问修饰符允许开发人员对类成员的访问进行限制,这是PHP5的新特性.但却是oop语言的一个好的特性.而且大多数的oop语言都已支持此特性.PHP5支持三种访问修饰符: public(公有的,默认 ...

  8. Linux (x86) Exploit 开发系列教程之四(使用return-to-libc绕过NX bit)

    (1)原理: “NX Bit”的漏洞缓解:使某些内存区域不可执行,并使可执行区域不可写.示例:使数据,堆栈和堆段不可执行,而代码段不可写. 在NX bit打开的情况下,基于堆栈的缓冲区溢出的经典方法将 ...

  9. linux学习笔记(1) -- 关于命令的一些操作

    Linux 目录 /:根目录,一般根目录下只存放目录,在Linux下有且只有一个根目录.所有的东西都是从这里开始.当你在终端里输入“/home”,你其实是在告诉电脑,先从/(根目录)开始,再进入到ho ...

  10. spark调优篇-oom 优化(汇总)

    spark 之所以需要调优,一是代码执行效率低,二是经常 OOM 内存溢出 内存溢出无非两点: 1. Driver 内存不够 2. Executor 内存不够 Driver 内存不够无非两点: 1. ...