Remove() public méthode

public Remove ( ToolStripItem value ) : void
value ToolStripItem
Résultat void
Exemple #1
0
 public override void InitializeBackend(object frontend, ApplicationContext context)
 {
     base.InitializeBackend(frontend, context);
     Menu                      = new SWF.MenuStrip();
     ItemsCollection           = Menu.Items;
     _items.CollectionChanged += (sender, args) => {
         var backend = args.NewItems.Cast <MenuItemBackend> ().FirstOrDefault();
         if (args.Action == NotifyCollectionChangedAction.Add)
         {
             ItemsCollection.Insert(args.NewStartingIndex, backend.MenuItem);
         }
         if (args.Action == NotifyCollectionChangedAction.Remove)
         {
             ItemsCollection.Remove(backend.MenuItem);
         }
     };
 }
 private void RemoveHistory(TSMenuItem item)
 {
     root.Remove(item);
     list.Remove(item);
     unused.Add(item);
     item.Tag = null;
     foreach (TSItem child in item.DropDownItems)
     {
         if (child.BackgroundImage != null)
         {
             child.BackgroundImage.Dispose();
             child.BackgroundImage = null;
         }
         if (child.Image != null)
         {
             child.Image.Dispose();
             child.Image = null;
         }
     }
 }
Exemple #3
0
		private void MergeMenu(ToolStripItemCollection source, ToolStripItemCollection dest)
		{
			while(source.Count > 0)
			{
				ToolStripMenuItem item = (ToolStripMenuItem) source[0];
				if(item.MergeAction == MergeAction.Insert)
				{
					for(int index = 0; index < dest.Count; ++index)
					{
						if(dest[index].MergeIndex > item.MergeIndex)
						{
							dest.Insert(index, item);
							break;
						}
					}
				}
				else if (item.MergeAction == MergeAction.Append)
				{
					dest.Add(item);
				}
				else if (item.MergeAction == MergeAction.MatchOnly)
				{
					ToolStripMenuItem match = null;
					foreach(ToolStripMenuItem destitem in dest)
					{
						if(destitem.Text == item.Text)
						{
							match = destitem;
							break;
						}
					}
					if(match == null)
						throw new ApplicationException("Can't merge with nonexistent menu '" + item.Text + "'");

					MergeMenu(item.DropDownItems, match.DropDownItems);
					source.Remove(item);
				}
				else
				{
					throw new ApplicationException("Unsupported menu merge action");
				}
			}
		}
		public void Remove_StandAlone ()
		{
			ToolStrip toolStrip = CreateToolStrip ();
			ToolStripItemCollection items = new ToolStripItemCollection (
				toolStrip, new ToolStripItem [0]);

			MockToolStripButton buttonA = new MockToolStripButton ("A");
			MockToolStripButton buttonB = new MockToolStripButton ("B");
			MockToolStripButton buttonC = new MockToolStripButton ("B");
			items.Insert (0, buttonA);
			items.Insert (0, buttonB);

			items.Remove (buttonB);
			Assert.AreEqual (1, items.Count, "#A1");
			Assert.AreEqual (0, itemsRemoved.Count, "#A2");
			Assert.AreSame (buttonA, items [0], "#A3");

			items.Remove ((ToolStripItem) null);
			Assert.AreEqual (1, items.Count, "#B1");
			Assert.AreEqual (0, itemsRemoved.Count, "#B2");
			Assert.AreSame (buttonA, items [0], "#B3");

			items.Remove (buttonC);
			Assert.AreEqual (1, items.Count, "#C1");
			Assert.AreEqual (0, itemsRemoved.Count, "#C2");
			Assert.AreSame (buttonA, items [0], "#C3");

			items.Remove (buttonA);
			Assert.AreEqual (0, items.Count, "#D1");
			Assert.AreEqual (0, itemsRemoved.Count, "#D2");

			items.Remove (buttonA);
			Assert.AreEqual (0, items.Count, "#E1");
			Assert.AreEqual (0, itemsRemoved.Count, "#E2");

			// remove item owned by other toolstrip
			ToolStrip otherToolStrip = new ToolStrip ();
			MockToolStripButton buttonD = new MockToolStripButton ("B");
			otherToolStrip.Items.Add (buttonD);
			Assert.AreSame (otherToolStrip, buttonD.Owner, "#F1");
			Assert.IsNull (buttonD.ParentToolStrip, "#F2");
			items.Remove (buttonD);
			Assert.AreEqual (0, items.Count, "#F3");
			Assert.AreEqual (0, itemsRemoved.Count, "#F4");
			Assert.AreSame (otherToolStrip, buttonD.Owner, "#F5");
			Assert.IsNull (buttonD.ParentToolStrip, "#F6");
		}
Exemple #5
0
		private static void FilterUnavailableItems(ToolStripItemCollection items)
		{
			List<ToolStripItem> unavailableItems = new List<ToolStripItem>();
			foreach (ToolStripItem toolStripItem in items)
			{
				if (!toolStripItem.Available)
				{
					unavailableItems.Add(toolStripItem);
				}
				else if (toolStripItem is ToolStripMenuItem)
				{
					ToolStripMenuItem toolStripMenuItem = (ToolStripMenuItem) toolStripItem;
					if (toolStripMenuItem.DropDownItems.Count > 0)
					{
						FilterUnavailableItems(toolStripMenuItem.DropDownItems);
						if (toolStripMenuItem.DropDownItems.Count == 0)
							unavailableItems.Add(toolStripItem);
					}
				}
			}

			foreach (ToolStripItem unavailableItem in unavailableItems)
			{
				items.Remove(unavailableItem);
				unavailableItem.Dispose();
			}
		}