繁体   English   中英

如何使用MainMenu在状态栏上显示与菜单项相关的文本?

[英]How do I show a text related to a menu item on the statusbar using MainMenu?

常见的UI模式是在状态栏中显示与当前所选菜单项相关的文本。

过去,我通过在Winforms中创建扩展程序提供程序来实现这一点,该提供程序为要在状态栏中显示的每个菜单项添加了带有自定义文本的字符串属性。 这是通过将事件处理程序添加到MenuStrips MouseEnterMouseLeave事件以显示和删除文本来实现的。

我遇到的问题是我现在正在使用MainMenu控件而不是MenuStrip,并且由于它不是从Control派生的,所以它没有MouseEnterMouseLeave事件。

MainMenu有一个Click事件,这意味着我可以在状态栏上显示文本,但是据我所知,无法检测到鼠标何时离开菜单项并从状态栏删除文本。

我的问题是如何使用MainMenu控件实现此UI模式? 具体来说,我想知道如何检测鼠标何时离开菜单项,以便可以从状态栏中删除文本。

注意:MenuStrip控件不是一个选项,因为它不使用操作系统的外观,并且我正在尝试使我的应用程序尽可能地适合于此。

每个MenuItem都有Select事件。 连接到它并相应地更改您的状态文本。

那么,对于检测项目的退出,请使用计时器,记住最后输入的MenuItemRect ,然后在(检查计时器事件)熄灭时,取消文本。 不漂亮,但是可以用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM