首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >没有显示Windows工具提示。

没有显示Windows工具提示。
EN

Stack Overflow用户
提问于 2010-01-13 08:46:12
回答 3查看 3.4K关注 0票数 3

我有一个代码,它以标准的方式像这样设置Winforms控件的工具提示:-

工具提示工具提示=新工具提示(); ToolTip.SetToolTip(控制,文本);

在同一个应用程序中,有一个窗口正在使用Direct3D SDK以每秒5帧的速度呈现一些图像的电影。现在,当电影被呈现时,即当它处于游戏模式时,工具提示永远不会出现。一旦我暂停电影,工具提示就开始出现。

  • 案例1:

作为解决办法,我对代码做了如下修改-

工具提示工具提示=新工具提示(); toolTip.InitialDelay = 50; ToolTip.SetToolTip(控制,文本);

现在,当我介绍初始延迟时,不管电影播放与否,工具提示都呈现出来了?

  • 案例2:

如果我不输入初始延迟,而是订阅控件的OnMouseHover事件,然后将上述两行代码显式地放在偶数处理程序中,那么也不会丢失工具提示。它们看起来很正常。但是,这并不是显示工具提示的标准做法。

有人能在工具提示渲染中纠正我的错误吗?我使用的是.Net 2.0和C#。

EN

回答 3

Stack Overflow用户

发布于 2010-01-13 10:47:31

D3D视频和工具提示都使用覆盖(由于这一点,我使用过的屏幕捕获程序的数量不捕获工具提示);因此,我相信您正在看到来自D3D覆盖层的一些干扰。

可能是视频过度绘制工具提示,因为它是在播放过程中呈现的,所以工具提示就在那里,你就是看不到它。

我很困惑,然而,为什么设置一个最初的延迟会突然使它工作!也就是说,InitialDelay在工具提示第一次显示时就控制了应用于工具提示的延迟,因此它可能与工具提示抓取要显示的覆盖面的方式有关。

当然,我会用它作为解决办法,而不是重复构造和分配工具提示,就像另一个答案说的那样,它可能会破坏资源。

我会找到最小的可能的InitialDelay,并与之一起工作。

最后-我们在这里讨论的是什么版本的Windows和DX?还有几个其他线程,从这里开始,并在其中的一个指向GameDev的链接中,讨论工具提示和DirectX的问题;并且指出,这里可能发生的不仅仅是一些.Net古怪的事情!

票数 0
EN

Stack Overflow用户

发布于 2010-01-13 20:52:41

参见ToolTip组件(Windows ) at http://msdn.microsoft.com/en-us/library/he23h308(VS.85).aspx。具体来说,请查看How :在 http://msdn.microsoft.com/en-us/library/s894w4aa(VS.80).aspx的设计时上为Windows窗体上的控件设置ToolTips。

您没有正确地使用ToolTip。链接到的示例只说明如何创建ToolTip,而不是如何使用它。

票数 0
EN

Stack Overflow用户

发布于 2010-01-16 20:48:41

为你的案子修改这个。应该行得通。您应该设置所有这些属性。

代码语言:javascript
复制
            // Create the ToolTip and associate with the Form container.
            ToolTip toolTip = new ToolTip();

            // Set up the delays for the ToolTip.
            toolTip.AutoPopDelay = 15000;
            toolTip.InitialDelay = 300;
            toolTip.ReshowDelay = 300;
            // Force the ToolTip text to be displayed whether or not the form is active.
            toolTip.ShowAlways = true;

            // Set up the ToolTip text for the Buttons
            toolTip.SetToolTip(this.button2, "TooltipText1");
            toolTip.SetToolTip(this.button3, "TooltipText2");
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2055405

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档