Di dalam kendali saya, saya memiliki:
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"));
Bagaimana cara menambahkan garis pemisah ke ContextMenu ini?
c#
winforms
contextmenu
separator
Adam Pierce
sumber
sumber
Jawaban:
Saya percaya itu hanya sejumput:
sumber
ContextMenu.Items.Add(new ToolStripSeparator());
lihat jawaban GabrielIni berfungsi sama baiknya dengan tanda hubung, dan saya curiga Winforms akan menerjemahkan tanda hubung ke ToolStripSeparator. Saya pikir solusi ini lebih jelas bagi siapa saja yang harus memelihara kode.
sumber
yourContextMenu.Items.Insert(3, new ToolStripSeparator());
, tetapi Anda tidak dapatInsert
menggunakan tanda "-".Di WPF:
sumber
Jika Anda menggunakan Desainer, letakkan satu tanda hubung "-" sebagai teks dengan cara yang sama seperti Anda memberi nama item menu Anda. Setelah menekan enter, pemisah akan dibuat.
sumber
Setel properti teks ke tanda hubung.
sumber
Pemisah horizontal itu keren, tetapi bagaimana jika Anda menginginkan pemisah vertikal?
Nah, jangan khawatir - Anda dapat memilikinya!
Set
BarBreak
properti untuktrue
diMenuItem
mana harus menjadi yang pertama setelah seperator yang:Untuk menambahkan item ke
MenuItems
koleksi:yourContextMenu.MenuItems.Add(item)
.sumber
Mungkin di versi Visual Studio mereka membuat ini lebih sederhana. Saya menggunakan VS 2012. Anda dapat menambahkan pemisah melalui desainer formulir. 1) Pilih / Buat MenuStrip. 2) Pada "Type Here", mouse kanan. 3) Pilih "Sisipkan". 4) Pilih "Pemisah". 5) Seret pemisah baru ke teks yang Anda inginkan di atasnya. Selesai.
sumber
ContextMenu
memiliki konstruktor yang menerima larikMenuItem
objek. Tak perlu dikatakan, Anda tidak bisa menambahkan string ke array itu. Namun Anda bisa mendapatkan pemisah dengan menambahkannew MenuItem("-")
:sumber