您的位置:首页 > 其它

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

2017-11-30 11:17 381 查看
 /**页面打开方法**/

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;

                }

            }

        }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐