zoukankan      html  css  js  c++  java
  • xtraTabControl通常使用

    1、设置标签页上显示关闭按钮ClosePageButtonShowMode选项选择InActiveTabPageHeaderAndOnMouseHover

    将tabPage删减至一个,命名为xtp1,Text为“编辑1”,增加一个xtpADD,text为“+”

    2、添加一个标签页面

            private void button_Click(object sender, EventArgs e)
            {//xtraTabControl1增加一个页面
                XtraTabPage page = new XtraTabPage();
                int NextNumber= GetNewPageName(xtraTabControl1);
                if (NextNumber > 100)
                {
                    MessageBox.Show("不支持再多的标签页");
                    return;
                }
                page.Name = "xtp" + NextNumber.ToString();
                page.Text = "查询" + NextNumber.ToString();
                this.xtraTabControl1.TabPages.Add(page);
                this.xtraTabControl1.SelectedTabPage = page;
            }
    private int GetNewPageName(XtraTabControl xtc)
            {
                var test = xtc.TabPages;
                List<int> list= xtc.TabPages.Where(x => x.Text.StartsWith("查询")).ToList().Select(y =>int.Parse(y.Text.Replace("查询",""))).ToList();
                int result = list.Max();//如果执行的顺利,则找到最大的值,如果执行不顺利则result依旧是0
                return result + 1;
            }

    3、关闭标签

    private void xtraTabControl1_CloseButtonClick(object sender, EventArgs e)
            {
                ClosePageButtonEventArgs arg = e as ClosePageButtonEventArgs;
                if (xtraTabControl1.TabPages.Count > 1)
                {
                    if (DialogResult.Yes == MessageBox.Show("确认需要关闭当前查询?", "再次确认", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1))
                    {
                        //如果关掉的是当前界面 选中前一个界面    如果关掉的不是当前界面 则选中的内容不变。
                        if (xtraTabControl1.SelectedTabPage.Equals(arg.Page as XtraTabPage))
                            xtraTabControl1.SelectedTabPageIndex = xtraTabControl1.SelectedTabPageIndex >= 1 ? xtraTabControl1.SelectedTabPageIndex - 1 : 0;
    
                        xtraTabControl1.TabPages.Remove(arg.Page as XtraTabPage); //方法1 删除
                        //(arg.Page as XtraTabPage).PageVisible = false;//方法2 隐藏
                    }
                }
            
                    
            }

    ==================================================

    以上的方法已经能够满足通常的需要,但是还是需要一个【增加Tab页】的按钮,如果能将这个按钮藏起来,就会好看很多。

    于是我在标签列表的最右边,能够创建一个tab头为【+】的tab页,这一页永远不会被打开,相当于在这个tab头上增加了这么个按钮。

    在页面的引导性上用户也很容易理解,如下图:

    那么只要修改其中部分内容即可。

    置标签页上显示关闭按钮ClosePageButtonShowMode选项选择   InActiveTabPageHeader

    修改xtraTabControl1的SelectedPageChanged事件

            private void xtraTabControl1_SelectedPageChanged(object sender, TabPageChangedEventArgs e)
            {
                if (xtraTabControl1.SelectedTabPage.Name == "xtpADD")
                {
                    //添加插入一个页,然后选择新插入的这个页
                    XtraTabPage page = new XtraTabPage();
                    int NextNumber = GetNewPageName(xtraTabControl1);
                    if (xtraTabControl1.TabPages.Count >3)
                    {
                        MessageBox.Show("不支持再多的标签页");
                        this.xtraTabControl1.SelectedTabPageIndex = xtraTabControl1.TabPages.Count - 2;
                        return;
                    }
                    page.Name = "xtp" + NextNumber.ToString();
                    page.Text = "查询" + NextNumber.ToString();
    
                    //先删除最后的【+】页,插入所需的页面后,再把【+】页添加进来
                    XtraTabPage lastPage=this.xtraTabControl1.TabPages.Last();
                    this.xtraTabControl1.TabPages.Remove(lastPage);
                    this.xtraTabControl1.TabPages.Add(page);
                    this.xtraTabControl1.SelectedTabPage = page;
                    this.xtraTabControl1.TabPages.Add(lastPage);
                }
            }
  • 相关阅读:
    Ansi,UTF8,Unicode,ASCII编码的区别
    Delphi 快捷键
    Sql Server2008恢复备份数据库问题
    js图片无缝滚动代码
    SQL Server 2008 清空删除日志文件 130G日志 10秒内变10M .
    JavaScript_循环26个英文字母的方法 .
    iframe跨子域
    sql数据库该名字
    大型网站架构的优化与架构演变(整理) .转自网络
    删除SQL日志语句,经测试8G日志文件都可以删除
  • 原文地址:https://www.cnblogs.com/adamgq/p/12517639.html
Copyright © 2011-2022 走看看