Pod moją kontrolą mam:
ContextMenu = new ContextMenu();
ContextMenu.MenuItems.Add(new MenuItem("&Add Item", onAddSpeaker));
ContextMenu.MenuItems.Add(new MenuItem("&Edit Item", onEditSpeaker));
ContextMenu.MenuItems.Add(new MenuItem("&Delete Item", onDeleteSpeaker));
ContextMenu.MenuItems.Add( ??? );
ContextMenu.MenuItems.Add(new MenuItem("Cancel"));
Jak dodać linię separacji do tego ContextMenu?
c#
winforms
contextmenu
separator
Adam Pierce
źródło
źródło
Odpowiedzi:
Myślę, że to tylko myślnik:
źródło
ContextMenu.Items.Add(new ToolStripSeparator());
patrz odpowiedź GabrielaDziała to tak samo dobrze jak myślnik i podejrzewam, że Winforms przetłumaczy myślnik na ToolStripSeparator. Myślę, że to rozwiązanie jest bardziej oczywiste dla każdego, kto musi utrzymywać kod.
źródło
yourContextMenu.Items.Insert(3, new ToolStripSeparator());
, ale nie możeszInsert
dodać myślnika „-”.W WPF:
źródło
Jeśli używasz Projektanta, umieść pojedynczy myślnik „-” jako tekst w taki sam sposób, jak nazwałbyś pozycje menu. Po wciśnięciu Enter zostanie utworzony separator.
źródło
Ustaw właściwość text na łącznik.
źródło
Separatory poziome są fajne, ale co jeśli zamiast tego chcesz zamiast tego separator pionowy?
Cóż, nie martw się - możesz go mieć!
Ustaw
BarBreak
właściwośćtrue
na,MenuItem
która powinna być pierwszą po separatorze:Aby dodać element do
MenuItems
kolekcji:yourContextMenu.MenuItems.Add(item)
.źródło
Być może w późniejszych wersjach programu Visual Studio uprościły to. Używam VS 2012. Możesz dodać separator za pomocą projektanta formularzy. 1) Wybierz / utwórz pasek menu. 2) W "Wpisz tutaj", prawym przyciskiem myszy. 3) Wybierz „Wstaw”. 4) Wybierz „Separator”. 5) Przeciągnij nowy separator do tekstu, który ma się znajdować powyżej. Gotowe.
źródło
ContextMenu
ma konstruktora, który otrzymuje tablicęMenuItem
obiektów. Nie trzeba dodawać, że nie możesz dodać ciągu do tej tablicy. Możesz jednak uzyskać separator, dodającnew MenuItem("-")
:źródło