C# WINFORM 鼠标右键弹出菜单问题
我动态创建了按钮,Button [,] btn = new Button[5.5];
5行5列 25个按钮.
每个按钮都要有一个鼠标右键的事件,右键弹出个菜单,菜单上面是"删除",这个该怎么写?不会写25个吧?...
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.弹出菜但怎么写?右键弹出个菜单,菜单上面是"删除",谢谢各位大大!
我动态创建了按钮,Button [,] btn = new Button[5.5];
5行5列 25个按钮.
每个按钮都要有一个鼠标右键的事件,右键弹出个菜单,菜单上面是"删除",这个该怎么写?不会写25个吧?...
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.弹出菜但怎么写?右键弹出个菜单,菜单上面是"删除",谢谢各位大大!
右键菜单里加入删除菜单项,删除菜单项里的代码可以根据不同的按钮用swich case写业务。
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
}
}
找到事例了.
private void Form1_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{//不要给窗口设置菜单,不然右键也有效
contextMenuStrip1.Show(e.X + this.Left, e.Y + this.Top);
}
}