如何在C#中以编程方式连接ToolStripButton事件?
我正在以编程方式将ToolStripButton项添加到上下文菜单中 那部分很简单如何在C#中以编程方式连接ToolStripButton事件?,c#,events,toolstripbutton,toolstripitem,C#,Events,Toolstripbutton,Toolstripitem,我正在以编程方式将ToolStripButton项添加到上下文菜单中 那部分很简单 this.tsmiDelete.DropDownItems.Add("The text on the item."); 但是,我还需要连接事件,以便当用户单击该项目时,实际会发生一些事情 我该怎么做?处理单击的方法还需要接收与用户单击的特定ToolStripButton相关的某种id或对象。您不能订阅单击事件吗?大概是这样的: ToolStripButton btn = new ToolStripButton(
this.tsmiDelete.DropDownItems.Add("The text on the item.");
但是,我还需要连接事件,以便当用户单击该项目时,实际会发生一些事情
我该怎么做?处理单击的方法还需要接收与用户单击的特定ToolStripButton相关的某种id或对象。您不能订阅单击事件吗?大概是这样的:
ToolStripButton btn = new ToolStripButton("The text on the item.");
this.tsmiDelete.DropDownItems.Add(btn);
btn.Click += new EventHandler(OnBtnClicked);
private void OnBtnClicked(object sender, EventArgs e)
{
ToolStripButton btn = sender as ToolStripButton;
// handle the button click
}
而OnBtnClicked的声明如下:
ToolStripButton btn = new ToolStripButton("The text on the item.");
this.tsmiDelete.DropDownItems.Add(btn);
btn.Click += new EventHandler(OnBtnClicked);
private void OnBtnClicked(object sender, EventArgs e)
{
ToolStripButton btn = sender as ToolStripButton;
// handle the button click
}
发送者应该是ToolStripButton,这样你就可以使用它,做任何你需要做的事情。谢谢你的帮助。我现在唯一的问题是,AutoSize在我添加的ToolStripButtons上不起作用!它们都太窄了 这很奇怪,因为它很早就开始工作了
更新:以编程方式创建的ToolStripButtons的AutoSize肯定有问题。然而,我找到了一个解决方案: