111

私のコントロール内には、次のものがあります。

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"));

この ContextMenu に区切り線を追加する方法は?

4

8 に答える 8

239

私はそれがただのダッシュだと信じています:

ContextMenu.MenuItems.Add("-");
于 2009-08-28T23:26:18.137 に答える
57

これはダッシュと同じように機能し、Winforms がダッシュを ToolStripSeparator に変換すると思われます。私は、コードを維持しなければならない人にとって、この解決策はより明白だと思います。

yourContextMenu.Items.Add(new ToolStripSeparator());
于 2011-05-04T08:39:55.323 に答える
11

WPF では:

ContextMenu.MenuItems.Add(new Separator());
于 2010-03-17T14:42:19.633 に答える
7

Designer を使用している場合は、メニュー項目に名前を付けるのと同じ方法で、単一のハイフン「-」をテキストとして配置します。Enterキーを押すと、セパレーターが作成されます。

于 2009-08-28T23:27:19.507 に答える
3

テキスト プロパティをハイフンに設定します。

于 2009-08-28T23:28:36.417 に答える
1

おそらく、Visual Studio のそれ以降のバージョンでは、これがより簡単になりました。VS 2012 を使用しています。フォーム デザイナーを使用してセパレーターを追加できます。1) MenuStrip を選択/作成します。2) [ここに入力] で、マウスを右クリックします。3) 「挿入」を選択します。4) 「セパレーター」を選択します。5) 新しいセパレーターを上に配置するテキストにドラッグします。終わり。

于 2014-11-14T19:37:38.860 に答える
0

ContextMenuオブジェクトの配列を受け取るコンストラクターがありMenuItemます。言うまでもなく、その配列に文字列を追加することはできません。ただし、次を追加することでセパレータを取得できますnew MenuItem("-")

    var contextMenu = new ContextMenu(new[]
    {
        timerMenuItem,
        keypressMenuItem,
        new MenuItem("-"), // Seperator
        new MenuItem(text: "Exit", onClick: (sender, args) => Application.Exit())
    });
于 2019-10-27T23:41:06.260 に答える