public static MenuItem AppendMenuItemSorted(this Menu menu, MenuItem item) { var text = item.GetText (); for (int i = 0; i < menu.Children.Length; i++) if (string.Compare (((menu.Children[i]) as MenuItem).GetText (), text) > 0) { menu.Insert (item, i); return item; } menu.AppendItem (item); return item; }