可能第一次用DevExpress的原因,也不知道那個相關控件叫什麼,百度找個半天沒找到,實在苦惱,最後自己慢慢看封裝的代碼才知道,經驗很重要,說多都累上代碼吧:
首先設置xtraTabbedMdiManager1所有的類似Tab標籤中的顯示關閉按鈕
this.xtraTabbedMdiManager1.ClosePageButtonShowMode=DevExpress.XtraTab.ClosePageButtonShowMode.InAllTabPagesAndTabControlHeader; //設置標籤後面添加刪除按鈕 , 多個標籤只需要設置一次.
然後控制第一個沒有關閉按鈕,實現首頁/工作面板不可以關閉,沒有關閉按鈕
//我這裏第一個設置沒有關閉:
xtraTabbedMdiManager1.Pages[0].ShowCloseButton = DefaultBoolean.False;
//設置一下雙擊關閉xtraTabbedMdiManager1裏的page
private DateTime m_LastClick = System.DateTime.Now;//當前時間
//雙擊關閉菜單欄
private void xtraTabbedMdiManager1_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
DateTime dt = DateTime.Now;
TimeSpan span = dt.Subtract(m_LastClick);
if (span.TotalMilliseconds < 300) //如果兩次點擊的時間間隔小於300毫秒,則認爲是雙擊
{
if (this.MdiChildren.Length > 1)
{
//if (this.ActiveMdiChild != m_MapForm)
//{
this.ActiveMdiChild.Close();
//this.xtraTabbedMdiManager1.ClosePageButtonShowMode = DevExpress.XtraTab.ClosePageButtonShowMode.Default;//隱藏關閉按鈕
//}
}
m_LastClick = dt.AddMinutes(-1);
}
else
m_LastClick = dt;
}
}