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

时间:2011-02-13 19:10:51

标签: c# winforms user-interface controls

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

过去我在winforms中通过创建扩展程序提供程序来实现此目的,该扩展程序提供程序为状态栏中显示的每个菜单项添加字符串属性和自定义文本。 这是通过向 MenuStrips MouseEnter MouseLeave 事件添加事件处理程序来实现的,以显示和删除文本。

我遇到的问题是我现在使用MainMenu控件而不是MenuStrip,因为它不是从Control派生的,所以它没有 MouseEnter MouseLeave 事件。

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

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

注意:MenuStrip控件不是一个选项,因为它不使用操作系统的外观和感觉,我试图尽可能地使我的应用程序适应。

1 个答案:

答案 0 :(得分:0)

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

好吧,至于检测退出项目,请使用计时器,记住最后输入的Rect MenuItem,然后当(检查计时器事件)它熄灭时,取消文本。不漂亮,但可以工作。