gpt4 book ai didi

.net - 是什么原因导致 .NET ToolTip 无法再次工作?

转载 作者:行者123 更新时间:2023-12-02 20:34:42 24 4
gpt4 key购买 nike

使用 VB.NET 2008 桌面项目,我在 Form_Load 事件上创建了一个简单的工具提示,并将其附加到表单上的按钮。当用户将鼠标悬停在按钮上但在 30 秒后超时(我使用弹出延迟等设置)时,看起来很棒。但是一旦它淡出,用户第二次将鼠标悬停在按钮上时,工具提示就永远不会显示。几乎就像自然死亡一样!关于如何解决这个问题有什么想法吗?

最佳答案

事实证明ToolTip component如果第一次提示超时,则不会再次显示提示。
我认为这是一个“功能”而不是错误,但我同意这不是许多人的预期行为。已经reported to Microsoft ,他们认为这是“太多的极端情况,无法投资修复它”。

this similar question 的答案提出一些可能的解决方法,尽管我个人没有尝试过其中任何一个,因为我从来不需要一个显示时间太长而超时的工具提示。

我建议您尝试的第一个解决方法是 Kevin 的答案建议的:将 ToolTip 组件的 Active 属性设置为 False,然后在 中设置回 True您想要显示所述工具提示的每个控件的 >MouseEnter 事件。这基本上将“重新启动”组件并覆盖“功能”,使其在第一次超时后不再显示。

答案中提出的一些其他建议以稍微不同(而且更愚蠢)的方式实现了相同的结果:通过每次创建一个 ToolTip 组件用户将鼠标移动到控件上。当上述建议不起作用时,确实没有理由这样做更好,或者说它会起作用。

至于为什么工具提示仅在 30 秒后就超时了,实际的最大超时时间约为 32 秒。 .NET Framework 提供的组件只是 Win32 ToolTip 的包装器,documentation揭示了看似任意限制的根源。超时值被指定为带符号的 16 位值,该值仅接受 32767 的最大值,转换为仅超过 32 秒的延迟。 Raymond Chen 还发布了 blog entry关于这个确切的行为。

关于.net - 是什么原因导致 .NET ToolTip 无法再次工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4524304/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com