如何在单击菜单项时调用mousedown事件?

时间:2012-05-14 08:54:00

标签: c# menuitem

我正在c#中制作一个关于图像处理的项目,我的表格中有一个图片框,菜单条上有各种可以应用于图像的选项(操作)(如模糊,棕褐色,对比等)。我正在考虑实现裁剪控件,并将其作为菜单项包含在内。

我想要的是每当我点击menustrip的裁剪选项时,它会触发mousedown,鼠标移动和鼠标移动图片框的事件,以便可以进行裁剪。

以下是此链接中的裁剪代码: http://www.codeproject.com/Articles/30725/Cropping-Images

问题是如何仅在单击菜单项时实现裁剪控件。每当用户点击图片框时触发上述链接上的代码,而不是当有人点击菜单项或说出按钮本身时触发。

提前感谢您的帮助......

1 个答案:

答案 0 :(得分:-1)

您应该将裁剪代码从事件处理程序抽象到一些也包含图像的图像处理类中。然后,您可以将mousemove事件连接到特定的裁剪调用,例如:

public void MouseMoved(object sender, EventArgs e)
{
     SomeImage.Crop(e.X, e.Y);
}

但是,当您希望点击处理程序进行裁剪时,您将裁剪哪个坐标?你必须决定,然后在菜单点击处理程序中实现它:

public void CropMenuClicked(object sender, EventArgs e)
{
    // TODO: determine someX and someY
    SomeImage.Crop(someX, someY);
}