可点击ToolStripMenuItem图像

本文关键字:图像 ToolStripMenuItem | 更新日期: 2023-09-27 18:10:43

我正在制作一个c# winForm应用程序,它有一个动态添加toolStripMenuItems的ContextMenuStrip。我也有一个图标在我的资源文件,我分配给toolStripMenuItem。图像属性和我处理toolStripMenuItem。单击事件。我实际上想处理点击事件,如果图像(图标)被点击,但图标/图像没有点击事件。如何创建一个点击图标,可以分配给toolStripMenuItem的图像属性?

Thanks in advance

- da

可点击ToolStripMenuItem图像

您必须自定义ToolStripItem并使用ContentRectangle属性获得图像所在的矩形。

看一下MSDN上的ComputeImageAndTextLayout代码示例,它计算图像所在的矩形。

在ToolStripItem的MouseDown事件中,当发生MouseDown事件时,您将获得ToolStripItem中鼠标的坐标,如下所示

void item_MouseDown(object sender, MouseEventArgs e)
{
    int x = e.X;
    int y = e.Y;
}

你将不得不计算你的MouseDown坐标是否在获得的矩形内,并引发一个imageclick事件。

使用同样的方法,你也可以引发一个TextClicked事件