簡體   English   中英

想要右鍵單擊ToolStripMenuItem的子菜單-C#

[英]want submenu on right mouse click of ToolStripMenuItem - C#

我里面有一個Toolstrip控件,正在添加一些ToolStripMenuItem。 對於每個ToolStripMenuItem,我都需要一個子菜單(如“關閉”)。 然后在子菜單應顯示的任何ToolStripMenuItem上單擊鼠標右鍵。

ToolStripMenuItem subMenuitem1 = new ToolStripMenuItem("Close");
items.DropDownItems.Add(subMenuitem1);

但這是行不通的。 請給我一些建議。 謝謝

什么是“項目”對象?

添加子菜單:

// new menu, if you're using designer you should have it already
ContextMenuStrip mnu = new ContextMenuStrip();

// new tool strip item
ToolStripMenuItem mnuItem1 = new ToolStripMenuItem();
mnuItem1.Text = "Some text 1";
mnuItem1.Name = "mnuItem1";

// new submenu item
ToolStripMenuItem mnuItem2 = new ToolStripMenuItem();
mnuItem2.Text = "Some text 2";
mnuItem2.Name = "mnuItem2";

// connect them...
mnuItem1.DropDownItems.Add(mnuItem2);
mnu.Add(mnuItem1);

現在是訂閱事件的問題。

您希望子菜單顯示在鼠標右鍵上。 通常,當鼠標懸停在具有子菜單的項目上時,它將顯示。 因此,如果您按自己的方式進行設置,那么我想您必須在右鍵單擊主toolStripItem時手動添加它。

ToolStripMenuItem沒有MouseClick事件。 您可以記住在MouseDown事件中單擊了哪個鼠標按鈕,然后在Click事件中進行處理。

您還應該記住,多次將ToolStripMenuItem的一個實例添加到一個菜單,或將相同的項目添加到多個菜單,將不起作用。 您每次都必須創建一個新項目。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM