欢迎莅临 SUN WU GANG 的园子!!!

世上无难事,只畏有心人。有心之人,即立志之坚午也,志坚则不畏事之不成。

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

在使用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;
            }
        }

  

  

  

 

posted on 2019-09-05 16:12  sunwugang  阅读(3341)  评论(0编辑  收藏  举报