Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ContextMenuStrip行为问题_C#_Contextmenustrip - Fatal编程技术网

C# ContextMenuStrip行为问题

C# ContextMenuStrip行为问题,c#,contextmenustrip,C#,Contextmenustrip,我将动态地向表单添加标签,然后动态地添加ContextMenuStrip控件。无论我使用label.ContextMenuStrip属性来连接它们,还是手动将事件处理程序添加到标签以使其响应右键单击并显示上下文菜单,我都会看到奇怪的行为: 1) 菜单不会出现在鼠标指针旁边,而是向下和向右偏移。它似乎与标签在其父控件(图片控件)中的位置有关,而与窗体无关 2) 当我单击菜单以外的内容时,菜单不会消失 你知道我错过了什么吗 谢谢, 安迪我算出来了。首先,我将控件添加到label控件集合,将其更改为表

我将动态地向表单添加标签,然后动态地添加ContextMenuStrip控件。无论我使用label.ContextMenuStrip属性来连接它们,还是手动将事件处理程序添加到标签以使其响应右键单击并显示上下文菜单,我都会看到奇怪的行为:

1) 菜单不会出现在鼠标指针旁边,而是向下和向右偏移。它似乎与标签在其父控件(图片控件)中的位置有关,而与窗体无关

2) 当我单击菜单以外的内容时,菜单不会消失

你知道我错过了什么吗

谢谢,
安迪

我算出来了。首先,我将控件添加到label控件集合,将其更改为表单集合,从而纠正了定位问题。我一直不明白为什么菜单不能关闭

最后,我将菜单的静态实例添加到表单中,然后将label.ContextMenuStrip属性连接到该静态实例,从而对内容进行了重组。这种做法一切顺利


我使用label控件的标记将其标识给click事件处理程序。

我解决了这个问题。首先,我将控件添加到label控件集合,将其更改为表单集合,从而纠正了定位问题。我一直不明白为什么菜单不能关闭

最后,我将菜单的静态实例添加到表单中,然后将label.ContextMenuStrip属性连接到该静态实例,从而对内容进行了重组。这种做法一切顺利


我使用label控件的标记将其标识给click事件处理程序。

能否发布如何显示ContextMenu的代码。ShowContextMenu方法有一些重载,可能是您使用了错误的方法。您可以发布如何显示上下文菜单的代码吗。ShowContextMenu方法有一些重载,可能是您使用了错误的重载。