我正在尝试在已禁用的ToolStripMenuItem上显示工具提示,以通知用户禁用它的原因。
我最初的想法是(因为事件不会在禁用的控件上被触发)来取代父MenuStrip上的MouseMove事件,并在禁用的控件上显示工具提示。但事件似乎没有按预期传播到父MenuStrip。这通常是怎么回事?例如,禁用的文本框事件会移动到父面板吗?
PS。我开始认为这个坏主意的UI设计无论如何?有什么更好的方法呢?
答案 0 :(得分:1)
棘手。我要么接受说不可能告诉用户(这些天大多数用户都很高兴有时因为上下文/选定的数据等而禁用了选项)。或者,您必须启用这些项目,并在用户尝试调用它们时显示弹出窗口或其他警告消息。
答案 1 :(得分:0)
我不会介绍是否是糟糕的UI设计或不显示工具提示,详细说明禁用某些内容的原因。
但是几年前我确实弄明白了如何为禁用按钮做这件事。我知道这不是你的确切问题,但它足够相似,我写的blog post可能对你有用。
答案 2 :(得分:0)
您应该在包含ShowItemToolTips = true
的地方设置MenuStrip
。即使禁用ToolStripMenuItem
,工具提示也会显示(但如果整个MenuStrip被禁用,则不会显示)。
这是一个老问题,所以功能可能已经改变了,但OP可能也犯了同样的错误 - 我的工具提示没有显示,所以我错误地认为这是因为ToolStripMenuItem
被禁用了。
只是想指出这一点以供将来参考。