如何在变量工具条菜单项C#上创建事件

时间:2012-09-26 07:33:29

标签: c# events toolstrip

我已经制作了一些代码来显示菜单项中安装和联机的每台打印机。但是,当单击菜单项时,我无法确定如何引发事件。我删除了获取printernames的代码,因为这与现在不相关。

string printerName; // contains the first printer name, later contains 2nd printername. This is variable.

selectprinterNameMenuItem.DropDownItems.Add(printerName); // here do I add the new printer to the menu item.

通常你应该能够在菜单项中添加一个事件;但我是用代码创建的,我不知道确切的名字。如何检测菜单项何时被点击?

2 个答案:

答案 0 :(得分:1)

Add(String) ToolStripItemCollection方法会返回已创建的ToolStripItem。您可以将事件处理程序添加到此对象:

string printerName; // contains the first printer name, later contains 2nd printername. This is variable.

ToolStripItem addedItem = selectprinterNameMenuItem.DropDownItems.Add(printerName); // here do I add the new printer to the menu item.
addedItem.Click += new EventHandler(printerName_Click); // here you register to the click event

编辑(根据您的评论):

您可以使用传递给事件处理程序的sender参数来告知已单击的打印机名称,即:

    void printerName_Click(object sender, EventArgs e)
    {
        ToolStripItem item = (ToolStripItem)sender;
        string printerClicked = item.Text;

        // whatever you want based on the printerName
    }

答案 1 :(得分:0)

挂钩selectprinterNameMenuItem的ItemClicked。

selectprinterNameMenuItem.DropDownItemClicked += new ToolStripItemClickedEventHandler(xyz);

找出导致事件发生的事件。