在禁用的菜单项或.NET中的替代解决方案上显示工具提示

时间:2011-05-25 15:38:12

标签: .net user-interface event-handling tooltip menuitem

我正在尝试在已禁用的ToolStripMenuItem上显示工具提示,以通知用户禁用它的原因。

我最初的想法是(因为事件不会在禁用的控件上被触发)来取代父MenuStrip上的MouseMove事件,并在禁用的控件上显示工具提示。但事件似乎没有按预期传播到父MenuStrip。这通常是怎么回事?例如,禁用的文本框事件会移动到父面板吗?

PS。我开始认为这个坏主意的UI设计无论如何?有什么更好的方法呢?

3 个答案:

答案 0 :(得分:1)

棘手。我要么接受说不可能告诉用户(这些天大多数用户都很高兴有时因为上下文/选定的数据等而禁用了选项)。或者,您必须启用这些项目,并在用户尝试调用它们时显示弹出窗口或其他警告消息。

答案 1 :(得分:0)

我不会介绍是否是糟糕的UI设计或不显示工具提示,详细说明禁用某些内容的原因。

但是几年前我确实弄明白了如何为禁用按钮做这件事。我知道这不是你的确切问题,但它足够相似,我写的blog post可能对你有用。

答案 2 :(得分:0)

您应该在包含ShowItemToolTips = true的地方设置MenuStrip。即使禁用ToolStripMenuItem,工具提示也会显示(但如果整个MenuStrip被禁用,则不会显示)。

这是一个老问题,所以功能可能已经改变了,但OP可能也犯了同样的错误 - 我的工具提示没有显示,所以我错误地认为这是因为ToolStripMenuItem被禁用了。

只是想指出这一点以供将来参考。