在任务栏上绘制ContextMenuStrip

谢尔盖·杜德金(Sergey Dudkin)

我想知道是否有某种方法可以在任务栏上绘制元素?

例如,我有一个应用程序,它在屏幕的左下角显示一些上下文菜单。我尝试了ContextMenuContextMenuStrip,我想使用第二个。ContextMenu在任务栏上绘制,但ContextMenuStrip不是-仅显示在任务栏上方一些像素处。

有没有办法绘制ContextMenuStrip任务栏?

谢尔盖·杜德金(Sergey Dudkin)

最后,我设法找到了答案。ContextMenuStrip具有内部的ShowInTaskbar方法

internal void ShowInTaskbar(int x, int y)

不能以通常的方式使用它,但是可以调用它(通常不建议这样做,因为它可能导致线程顺序逻辑中的某些错误)。仍然,如果您想使用一些内部或私有类的方法,则可以通过以下方式进行:

MethodInfo mi = typeof(ContextMenuStrip).GetMethod("ShowInTaskbar", BindingFlags.Instance | BindingFlags.NonPublic);
mi.Invoke(contextMenuStrip1, new object[] { mousePositionX, mousePositionY });

您只需要发送正确的菜单栏和鼠标坐标,即可在正确的位置显示菜单。

使用此方法后,我的contextMenuStip1在任务栏上显示了!

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

程序卡在任务栏上

在任务栏上显示时间/日期

如何更改将显示在任务栏上的图标

在任务栏上显示隐藏的图标

为什么应用程序无法在任务栏上显示其任务栏图标?

在任务栏中查看当天

如何在任务栏中绘制图形并使它们最小化?

如何使JOptionPane对话框作为任务显示在任务栏上?

将 WPF 窗口保持在任务栏上而不获取焦点

Telerik RadWindow图标未显示在任务栏上C#WPF

在任务栏上为每个监视器显示相应的图标

X11 创建一个不显示在任务栏上的窗口

如何在任务栏上并排显示相同的窗口

如何在任务栏上显示图标,而不在表单本身上显示图标?

无论如何移动(交换)通过键盘固定在任务栏上的图标?

检测应用程序是否固定在任务栏上

C#在任务栏上显示文本 Windows 10

杀死固定在任务栏上的进程的快捷方式?

隐藏应用程序在任务栏上显示Word UserForm

将用Netbeans创建的Java程序固定在任务栏上?

是否可以在任务栏上显示每个应用程序的编号?

如何在任务栏上订购同一程序的窗口

大多数IDE在任务栏上具有多个图标

如何使用FMX C ++在任务栏上显示辅助表单?

Powershell运行,在任务栏上可见,但不显示任何窗口

无法在任务栏上打开日历[Win7]

在任务栏中完全隐藏溢出(隐藏)的项目

使浏览器窗口在任务栏中闪烁

关闭winform,但继续在任务栏中运行