C#学习笔记-ContextMenuStrip

2018-06-18 01:48:00来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

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)

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:.net 环境下c# 通信

下一篇:ADO.Net(五)——实战:对战游戏