如何在通知图标的上下文菜单中为每个菜单项启用单击? [英] How do I enable click for each menu item in context menu in a notify icon?

查看:82
本文介绍了如何在通知图标的上下文菜单中为每个菜单项启用单击?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下对象:notifyIcon1和contextMenuStrip1。

在contextMenuStrip1的属性中,在Items下,我添加了两个工具条菜单项:

 tsMenuSubscribe 

 tsMenuUnSubscribe 



即使是个人

工具条菜单也找不到点击项目





我发现的事件是

 ontextMenuStrip1_ItemClicked 



这是不正确的,因为无论点击任何工具条菜单项都会触发此事件。

因此,我需要帮助来区分单个

工具条菜单上的点击次数项目





我尝试过:



在下面的例子中,我试图使用不起作用的子菜单选项。 

< pre> private void tsMenuSubscribe_Clicked(object sender,ToolStripItemClickedEventArgs e)
{
NCTBuddy n = new NCTBuddy();
n.ButtonText =订阅;
n.Show();

}
private void tsMenuUnSubscribe_Clicked(object sender,ToolStripItemClickedEventArgs e)
{
NCTBuddy n = new NCTBuddy();
n.ButtonText =UnSubscribe;
n.Show();
}


最后,这是有效的事件,但不区分菜单中单击的项目。

private void contextMenuStrip1_ItemClicked(object sender,ToolStripItemClickedEventArgs e)
{

}

解决方案<设计模式中的/ div>

- >右键点击 tsMenuSubscribe item - > 属性 - > 活动 - >单击事件(双击)


解决方案是在表单中提及事件:

 tsMenuSubscribe.Click + = tsMenuSubscribeClick; 
tsMenuUnsubscribe.Click + = tsMenuUnSubscribeClick;





并且,在代码中的任何地方描述它们:



 private void tsMenuSubscribeClick(object sender,EventArgs e)
{

NCTBuddy n = new NCTBuddy();
n.ButtonText =订阅;
n.Show();

}
private void tsMenuUnSubscribeClick(object sender,EventArgs e)
{
NCTBuddy n = new NCTBuddy();
n.ButtonText =UnSubscribe;
n.Show();

}


I have following objects: notifyIcon1 and contextMenuStrip1.
In the Properties of contextMenuStrip1, under Items, I added two Tool Strip Menu Items:

tsMenuSubscribe 

and

tsMenuUnSubscribe

.
I cannot find a click even for individual

Tool Strip Menu Items

.

The event I found is

ontextMenuStrip1_ItemClicked

.
It is not correct because this event is fired irrespective of the click on any Tool Strip Menu Item.
Hence, I need help in differentiating clicks on individual

Tool Strip Menu Item

.

What I have tried:

In below example, I am trying to use the sub menu options that do not work.
 
<pre> private void tsMenuSubscribe_Clicked(object sender, ToolStripItemClickedEventArgs e)
        {
            NCTBuddy n = new NCTBuddy();
            n.ButtonText = "Subscribe";
            n.Show();
           
        }
        private void tsMenuUnSubscribe_Clicked(object sender, ToolStripItemClickedEventArgs e)
        {
            NCTBuddy n = new NCTBuddy();
            n.ButtonText = "UnSubscribe";
            n.Show();
        }


And finally, this is the event that works but do not differentiate which item is clicked in the menu.

        private void contextMenuStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
        {
         
        }

解决方案

in Design mode -> right click on tsMenuSubscribe item -> properties -> events -> click event ( double click )


The solution is to mention events in the form load:

tsMenuSubscribe.Click += tsMenuSubscribeClick;
           tsMenuUnsubscribe.Click += tsMenuUnSubscribeClick;



And, describe them anywhere in the code:

private void tsMenuSubscribeClick(object sender, EventArgs e)
       {

           NCTBuddy n = new NCTBuddy();
           n.ButtonText = "Subscribe";
           n.Show();

       }
       private void tsMenuUnSubscribeClick(object sender, EventArgs e)
       {
           NCTBuddy n = new NCTBuddy();
           n.ButtonText = "UnSubscribe";
           n.Show();

       }


这篇关于如何在通知图标的上下文菜单中为每个菜单项启用单击?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆