我正在开发一个C#winForm应用程序,该应用程序具有一个动态添加toolStripMenuItems的ContextMenuStrip。我在资源文件中也有一个图标,我分配给toolStripMenuItem.Image属性,我处理toolStripMenuItem.Click事件。我实际上想要处理单击事件,如果单击图像(图标)但图标/图像没有单击事件。如何创建可以分配给toolStripMenuItem的图像属性的点击图标?
提前致谢
-DA
答案 0 :(得分:2)
您必须使用 ContentRectangle 属性自定义ToolStripItem并获取图像所在的矩形。
查看MSDN上的ComputeImageAndTextLayout code sample,它计算图像所在的矩形。
在ToolStripItem的MouseDown事件中,当MouseDown事件发生时,您将获得ToolStripItem中鼠标的坐标,如下所示
void item_MouseDown(object sender, MouseEventArgs e)
{
int x = e.X;
int y = e.Y;
}
然后,您必须计算MouseDown坐标是否位于获得的矩形中并引发ImageClicked事件。
使用相同的方法,您还可以引发TextClicked事件。