如何传递参数给菜单事件?

qinshihuang2222 2004-03-31 08:17:58
用下列程序为一个按钮生成一个上下文菜单,现想将按钮名称传给菜单事件处理函数menuItem1_Click,该如何设置?
Button CurrentButton=(Button)sender;
ContextMenu contextMenu1=new ContextMenu ();
CurrentButton.Name="123";
MenuItem menuItem1 = new System.Windows.Forms.MenuItem();
MenuItem menuItem2 = new System.Windows.Forms.MenuItem();
MenuItem menuItem3 = new System.Windows.Forms.MenuItem();
MenuItem menuItem4 = new System.Windows.Forms.MenuItem();
menuItem1.Text = "客户入住";
menuItem2.Text = "客户预定";
menuItem3.Text = "-";
menuItem4.Text = "设为维修";
contextMenu1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] { menuItem1,menuItem2,menuItem3,menuItem4});
contextMenu1.Show(this,new Point(CurrentButton.Left+CurrentButton.Width+10 ,CurrentButton.Top+CurrentButton.Height+5));
menuItem1.Click += new System.EventHandler(this.menuItem1_Click);怎样将123传递给menuItem1_Click?
menuItem2.Click += new System.EventHandler(this.menuItem2_Click);
menuItem4.Click += new System.EventHandler(this.menuItem4_Click);


private void menuItem1_Click(object sender, System.EventArgs e)
{
//将按钮名称作为参数处理
}
...全文
67 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
qinshihuang2222 2004-04-01
  • 打赏
  • 举报
回复
我需要获得的是按钮的名称,不是菜单的名称。
flyingbirddhp 2004-03-31
  • 打赏
  • 举报
回复
Control类有个tag属性,可以存储额外信息
可惜MenuItem不是从Control派生~~~~~
楼主还是早换方案吧
HNU 2004-03-31
  • 打赏
  • 举报
回复


(MenuItem)sender).Text


举个例子:

private void menuItem1_Click(object sender, System.EventArgs e)
{
MessageBox.Show(((MenuItem)sender).Text);//通过这个你可以看到被按下按钮的名字
}
jackyoung02 2004-03-31
  • 打赏
  • 举报
回复
private void menuItem1_Click(object sender, System.EventArgs e)
{
MenuItem item =sender as MenuItem;
//item.Text值即是按钮的名称
}
qinshihuang2222 2004-03-31
  • 打赏
  • 举报
回复

110,530

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧