日期:2014-05-18  浏览次数:21228 次

C# WINFORM 鼠标右键弹出菜单问题
C# WINFORM 鼠标右键弹出菜单问题
我动态创建了按钮,Button [,] btn = new Button[5.5];
5行5列 25个按钮.
每个按钮都要有一个鼠标右键的事件,右键弹出个菜单,菜单上面是"删除",这个该怎么写?不会写25个吧?...
C# code
private void btn1_MouseDown(object sender, MouseEventArgs e)
private void btn2_MouseDown(object sender, MouseEventArgs e)
private void btn3_MouseDown(object sender, MouseEventArgs e)
.....



1.每个按钮都要有一个鼠标右键的事件,这个该怎么写?不会写25个吧?...

2.弹出菜但怎么写?右键弹出个菜单,菜单上面是"删除",

谢谢各位大大!

------解决方案--------------------
当然不肯能写25了,你每个button的tag都应该记录该button的特殊性,然后每个button的click(mousedown)事件都指向一个函数,在该函数中实现你点击按钮的功能。
private void InitButton()
{
int i=0;
foreach(Button b in btn)
{
b.Tag = i;
b.Click += new EventHandler(MButton_Click);
}
}
void MButton_Click(object sender, EventArgs e)
{
Button btn = sender as Button;
if (btn != null)
{
int i = (int)btn.Tag;
//do something yourself
}
}