我可以將圖標設置爲1x1或透明圖標,但我不喜歡該解決方案,因爲用戶仍然可以點擊該圖標。如何在mdiChild最大化時隱藏UltraToolbar中的mdiChild圖標?
我可以做這樣的事情,如果它是mdiParents mainMenuStrip:
private void mainMenuStrip_ItemEventHandler(Object sender, ToolStripItemEventArgs e)
{
if (e.Item.Text == "")
{
e.Item.Visible = false;//This will hide any toolstrip items that do not have text... ex. the SystemMenu.
}
}
但UltraToolbarsManager.Toolbars沒有這個事件。
將mdiChild的ShowIcon設置爲false僅當mdiChild窗體未最大化時纔有效。
我也嘗試過載將MDIChild SizeChanged事件,並通過工具循環,看看我能找到一個隱藏,但沒有工作,要麼:
private void MdiChild_SizeChanged(object sender, EventArgs e)
{
Form theForm = sender as Form;
switch (theForm.WindowState)
{
case FormWindowState.Maximized:
theForm.Icon = Icon.FromHandle(Properties.Resources.blank.GetHicon());
foreach (UltraToolbar ut in UltraToolbarsManager1.Toolbars)
{
if (ut.IsMainMenuBar)
{
foreach (ToolBase tb in ut.Tools)
{
//This collection does not contain the one I want to hide.
// maybe?
if (tb is MdiMergePlaceholderTool)
{
tb.SharedProps.Visible = false;
}
}
}
}
break;
}
}
的UltraToolbarsManager和UltraToolbar不會出現有我可以處理,試圖刪除被合併到一個工具欄事情的任何事件......
這是確切的問題,我也有..但它不回答: http://www.infragistics.com/community/forums/t/33396.aspx
我覺得這是一個更新的鏈接到其他的什麼職位建議,但改變100點的形式繼承這樣是不是一種選擇對我來說: http://help.infragistics.com/Help/NetAdvantage/WinForms/2013.1/CLR4.0/html/Win_Creation_Filter.html
幾個可能性: - 隱藏在OnItemAdded事件的項目。 - 從UltraToolbar刪除圖標..也許在一個OnMerge事件中。 - 如果無法隱藏/移除圖標,則取消上下文菜單的事件。 - 獲取對Icon項目的引用的一些方法會很好。
在此先感謝您的答覆。
謝謝!創建過濾器代碼完美工作。它仍然會縮進其他菜單項,就像圖標在那裏一樣,但我可以處理它。 – Soenhay