DevExpress XtraTabControl 加载Form,不重复显示,自动定位打开页面

来源:互联网 发布:全球房价排名 知乎 编辑:程序博客网 时间:2024/05/18 00:21

 /**页面打开方法**/

void OpenFormInXtab(Form form)

        {
            String name = form.Text;
            foreach (XtraTabPage XTpage in formXtraTabControl.TabPages)
            {
                if (XTpage.Text == name)
                {
                    formXtraTabControl.SelectedTabPage = XTpage;
                    return;
                }
            }
            XtraTabPage page = new XtraTabPage();
 
            page.Controls.Add(form);
            page.Text = form.Text;
            formXtraTabControl.TabPages.Add(page);
            formXtraTabControl.SelectedTabPage = page;


            //设置关闭事件 


            formXtraTabControl.CloseButtonClick += new EventHandler(XtraTabControl1CloseButtonClick);

        }

//打开页面的事件(可以click也可以页面加载时都可以)这里使用点击按钮打开

 private void userRecordDXBtn_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            UserRecordForm form1 = new UserRecordForm
            {
                Visible = true,
                Dock = DockStyle.Fill,
                FormBorderStyle = FormBorderStyle.None,
                TopLevel = false//在这里一定要注意  否则是加载不出来的
            };
            OpenFormInXtab(form1);
        }

//事件释放资源

 //在程序关闭之后 要释放窗体等资源
        void XtraTabControl1CloseButtonClick(object sender, EventArgs e)
        {
            ClosePageButtonEventArgs a = (ClosePageButtonEventArgs)e;
            string tabpagename = a.Page.Text;
            foreach (Control xtp in formXtraTabControl.TabPages)
            {
                if (xtp.Text == tabpagename)
                {
                    xtp.Dispose();
                    return;
                }
            }
        }

阅读全文
0 0
原创粉丝点击