Devexpress的XtraTabbedMdiManager继承了IXtraTab接口,因此可以获得关于TableControl对象的一些属性及方法。
要达到右侧关闭按钮关闭所有页面的效果,必须获得按钮Click事件,以此关闭所有页面。
另外,在项目开发时,往往需要指定导航页,因为常开,所以在添加页面时需要设置
ShowCloseButton = DevExpress.Utils.DefaultBoolean.False;
以此隐藏页面关闭按钮。
具体代码如下:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
IXtraTab t = xtraTabbedMdiManager1;
t.ViewInfo.HeaderButtonClick += (s, e) =>
{
foreach (Form f in this.MdiChildren)
{
{
if (f.Text != "首页")
f.Close();
else e.Handled = true;
}
}
};
xtraTabbedMdiManager1.PageAdded += (s, e) =>
{
if (e.Page.Text == "首页")
e.Page.ShowCloseButton = DevExpress.Utils.DefaultBoolean.False;
};
for (int i = 0; i < 10; i++)
{
Form2 form = new Form2();
form.Text = i == 0 ? "首页" : form.Text;
form.MdiParent = this;
form.Show();
}
}
}