public void MenuItemCollection_RemoveAt_InvalidIndex_ThrowsArgumentOutOfRangeException(int index) { var menu = new SubMenu(new MenuItem[] { new MenuItem() }); var collection = new Menu.MenuItemCollection(menu); Assert.Throws <ArgumentOutOfRangeException>("index", () => collection.RemoveAt(index)); }
/// <summary>Inserts MenuItem at given position in given menu item collection.</summary> /// <param name="MenuItems"></param> /// <param name="index"></param> /// <param name="menuItem"></param> public static void Insert(Menu.MenuItemCollection MenuItems, int index, MenuItem menuItem) { // If index is > count add the menuItem if (MenuItems.Count <= index + 1) { MenuItems.Add(menuItem); } else { //Otherwise copy all the menu items to an array MenuItem[] NewMenuItems = new MenuItem[MenuItems.Count]; MenuItems.CopyTo(NewMenuItems, 0); //Remove all the menuitems where we want to insert the element. for (int i = index; i < NewMenuItems.Length; i++) { MenuItems.RemoveAt(i); } //Add the menu item MenuItems.Add(menuItem); // Add remianing menu Items. for (int i = index; index < NewMenuItems.Length; index++) { MenuItems.Add(NewMenuItems[i]); } } }
public void MenuItemCollection_RemoveAt_Invoke_Success() { var menuItem = new MenuItem(); var menu = new SubMenu(new MenuItem[] { menuItem }); var collection = new Menu.MenuItemCollection(menu); collection.RemoveAt(0); Assert.Empty(collection); Assert.Null(menuItem.Parent); Assert.Equal(-1, menuItem.Index); }
private void m_CreateMenuInfo(Menu owner) { m_Language = m_GetLanguageFromCulture(eAntForm.preferences.GetString("Language")); m_ShowAllLanguage = eAntForm.preferences.GetBool("ShowAllLanguages", true); m_Owner = owner; Actions = new Hashtable(); MenuItems = new Menu.MenuItemCollection(owner); MenuItem menu; try { ShowAllLanguageMenuItem = new MenuItem(eAntForm.Globalization["LBL_SHOW_ALL_LANGUAGES"], new EventHandler(ShowAllLanguageMenuItem_Click)); ShowAllLanguageMenuItem.DefaultItem = true; ShowAllLanguageMenuItem.Checked = m_ShowAllLanguage; MenuItems.Add(ShowAllLanguageMenuItem); menu = new MenuItem("-"); MenuItems.Add(menu); XmlDocument doc = new XmlDocument(); doc.Load(Application.StartupPath + Path.DirectorySeparatorChar + "webSearchs.xml"); XmlNodeList nodes = doc.DocumentElement["Searchs"].ChildNodes; foreach (XmlElement el in nodes) { if (el.Name == "Search") { if ((el.Attributes.Count > 2) && (el.Attributes["SiteName"].InnerText != "") && (el.Attributes["URL"].InnerText != "") && (el.Attributes["Language"].InnerText != "")) { String NodeLanguage = el.Attributes["Language"].InnerText; if (!m_ShowAllLanguage && NodeLanguage != m_Language && NodeLanguage != "All") { m_DisplayBar = false; } else { m_DisplayBar = true; menu = new MenuItem(el.Attributes["SiteName"].InnerText + "\t(" + el.Attributes["Language"].InnerText + ")", new EventHandler(OnItemClicked)); MenuItems.Add(menu); Actions.Add(menu, el.Attributes["URL"].InnerText); } } else if (m_DisplayBar && el.Attributes["SiteName"].InnerText == "-") { menu = new MenuItem("-"); MenuItems.Add(menu); } } } if (MenuItems[MenuItems.Count - 1].Text == "-") { MenuItems.RemoveAt(MenuItems.Count - 1); } } catch (Exception e) { Debug.WriteLine(e.ToString()); } }