Looking at the provied information, I suppose that you are using our default mode of UltraToolbarManager, because if you are using Ribbon mode then you could hide the system Icon through property ShowIcon of your MDIChild form. At that moment we didn`t implement such functionality (except for Ribbon mode) to hide your Icon or SystemMenu, so you have two possible options to solve this task. Option 1: You could use CreationFilter. For example:
public Form1()
{
InitializeComponent();
ultraToolbarsManager1.CreationFilter = new HideIcon();
}
class HideIcon : IUIElementCreationFilter
{
public void AfterCreateChildElements(UIElement parent)
{
}
public bool BeforeCreateChildElements(UIElement parent)
{
if (parent is PopupToolUIElement)
{
parent.Parent.ChildElements.Remove(parent);
}
return false;
}
}
You could find sample in our forum thread : http://www.infragistics.com/community/forums/t/33396.aspx
Another possible approach could be if you implement:
[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]
public static extern Int32 RemoveMenu(IntPtr hMenu, Int32 nPosition, Int32 wFlags);
or
[return: MarshalAs(UnmanagedType.Bool)]
[DllImport("user32", ExactSpelling = true, CharSet = System.Runtime.InteropServices.CharSet.Auto)]
public static extern bool DestroyMenu(IntPtr menu);
By this way you could destroy your menu when maximize your MDIChild form and create again context menu when change the state of your MDIChild form using :
[DllImport("user32", SetLastError = true, CharSet = CharSet.Auto)]
public static extern IntPtr CreatePopupMenu();
I think that the best option for you to solve this task could be if you are using CreationFilter
Let me know if you have any questions Regards