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;
}
}
}
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;
}
}
}
相关文章推荐
- [DevExpress]DevExpress XtraTabControl 加载Form
- easyui的tab加载页面中的form重复提交
- easyui关于解决tab添加的页面通过href加载数据内容的页面刷新后form表单重复提交的问题;
- DevExpress 使用 XtraTabbedMdiManager 控件以 Tab样式加载 Mdi窗体并合并 RibbonControl 解决方案
- DevExpress 使用 XtraTabbedMdiManager 控件以 Tab样式加载 Mdi窗体并合并 RibbonControl 解决方案
- easyui的tab加载页面中的form重复提交
- easyui的tab加载页面中的form重复提交
- DevExpress 使用 XtraTabbedMdiManager 控件以 Tab样式加载 Mdi窗体并合并 RibbonControl 解决方案
- DEVExpress XtraReport报表制作过程中绑定数据源的XRControl对象在值为0时不显示功能,通过代码自动实现
- 踩坑(Running)填坑(ZSSURE):DevExpress的XtraTabControl、Telerik的OpenAccessContext以及StarUML
- 使用jQuery在页面显示完后自动加载
- C#.NET常见问题(FAQ)-TabControl如何隐藏和显示页面
- extjs 页面打开时表格自动加载后台传来的json数据
- 页面刚开始加载时文本框显示1,2(从1自动后增)的sql语句
- 如何让页面在打开时自动刷新一次让图片全部显示
- DevExpress.LookUpEdit控件实现自动搜索定位功能(定位和显示可是同一行不同列值)
- 打开jsp页面自动加载多个Action的实现方法
- C# Tabcontrol组件怎么(切换)显示Form窗体
- 如何将表单和UserControl转换成DevExpress XtraForm和XtraUserControl
- DevExpress XtraTabControl CloseButton 事件