码迷,mamicode.com
首页 > Windows程序 > 详细

C#学习笔记-ContextMenuStrip

时间:2016-08-25 23:55:17      阅读:245      评论:0      收藏:0      [点我收藏+]

标签:

ContextMenuStrip是就是所说的右键菜单,在VS里可以直接新建,挺方便。但是跟着师父看了很多代码,发现了好多时候都需要自己写这部分代码。这个部分目前为止我了解的还不是很多,更细致的就只有等后面再深入了解到了再记了。

 

现在是将contextmenustrip绑定到label上面去,新建了一个form窗口,里面分别有三个label,label1和label2是通过vs自带的直接绑定contextmenustrip,label3是通过代码实现(其实和vs给的代码一样的,只是什么东西自己专门打出来和只看是完全不一样的感受的,毕竟还是新手,稳扎稳打学习总会有好处的)。

 

技术分享先新建一个contextmunestrip1,里面的内容是自己直接输入就好了,也在它的属性items里:技术分享点击省略号就可以看见:技术分享

 

技术分享label1是1号,他的命名直接就是“我是1号选手”,label2,label3同理,然后label1和label2通过这个技术分享和contextmenustrip1相关联了。

 

 给contextmenustrip的添加一个opening事件,这样可以区别开鼠标点击的是label1还是label2;

1 private void contextMenuStrip1_Opening(object sender, CancelEventArgs e)
2         {
3             string whichone = (sender as ContextMenuStrip).SourceControl.Name;
4             MessageBox.Show(whichone+ "??!");
5         }

 

给contextmenustrip里面的“大家好”选项添加事件,直接用click就可以了

1 private void 大家好ToolStripMenuItem_Click(object sender, EventArgs e)
2         {           
3             MessageBox.Show("大家好!" );
4         }
5         private void 谢谢大家ToolStripMenuItem_Click(object sender, EventArgs e)
6         {
7             MessageBox.Show("谢谢大家!");
8         }

 

这样就实现了点击label1时弹出“我是1号选手”的对话框,同理label2:

技术分享技术分享

 

 

现在就是label3的部分了,用代码实现上诉的功能:

 1         //先新建一个ContextMenuStrip
 2         private ContextMenuStrip onlyfornumber3;
 3 
 4         public Form1()
 5         {
 6             InitializeComponent();
 7 
 8             onlyfornumber3 = new ContextMenuStrip();
 9             //右键菜单加入一个hello选项
10             onlyfornumber3.Items.Add("hello!");
11             //点击hello选项时发生onlyfornumber3_Click事件
12             onlyfornumber3.Items[0].Click += onlyfornumber3_Click;
13             //激活ContextMenuStrip的时候发生onlyfornumber3_Click2事件
14             onlyfornumber3.Opening += onlyfornumber3_Click2;
15 
16             //将ContextMenuStrip(也就是onlyfornumber3)和label3绑定在一起
17             label3.ContextMenuStrip = onlyfornumber3; 
18         }
19 
20         private void onlyfornumber3_Click(object sender, EventArgs e)
21         {
22             MessageBox.Show("hello,我是三号选手哦??!");
23         }
24 
25         private void onlyfornumber3_Click2(object sender, CancelEventArgs e)
26         {
27             MessageBox.Show("我是三号选手??!");
28         }

(2016-08-25)

C#学习笔记-ContextMenuStrip

标签:

原文地址:http://www.cnblogs.com/Aries-rong/p/5801179.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!