【发布时间】:2016-08-20 10:19:45
【问题描述】:
我有一个 C# Winforms 应用程序,我想为新用户添加一个小教程。因此,当他们启动应用程序时,我希望在按钮旁边出现一个小框,表示他们应该单击该按钮。并且当他们第一次访问新表单时,使用相同的方法来引起对重要控件的注意。除了文字之外,我还希望这个小东西有一个按钮来关闭更多的教程消息。
问题是,我不知道为此使用什么实际的 winforms 控件。我应该使用带有自定义边框的对话框吗?或者我可以以某种方式使用鼠标移动时不会消失的工具提示吗?还是有我不知道的其他控件?或者,是否有第三方控件可以执行此操作?
【问题讨论】:
-
我认为ToolTips 可能已经足够好了。 - 但你需要多考虑一下你到底想要什么。要探索表单上的控件,用户应该移动它并查看有关此控件的有用消息。但是当移动到其他控件时,您不认为之前的帮助文本应该消失吗?您真的希望表格中到处都是信息吗?另外:通常 ShowToolTips 是应用程序的全局设置;这也是你想要的吗?
-
这是一个工具提示,就像 TaW 提到的那样,
IsBalloon设置为 true,并使用将其与特定控制窗口相关联的Show重载显示。这样,您就可以让气球提示指向控件。如果您希望它永远不会消失并且对将超时设置为最长允许值不满意,您需要创建一个tracking tooltip。我不记得 WinForms 包装器是否公开了它。我不这么认为。您可能需要resort to P/Invoke。 -
请注意不要过度执行此操作,最终会得到像 Stack Overflow 的 Documentation 这样的东西,到处都是跳动的蓝点。您通常最好让您的用户界面尽可能明显,而不是试图在任何地方都包含即时帮助。如果有人真的不知道从哪里开始,那将无济于事。他们需要实际的文档。对于喜欢跳入其中并且相当精通计算机的自我启动者,所有这些弹出气泡大多只会惹恼他们。
-
另外两个注意事项:ToolTip 没有用于单击它的事件,因此您无法实现这些按钮。并且:当显示为气球时,你不能 OwnerDraw,所以你不能添加图像或格式化文本。Here 是一个可点击 ToolTIp 的项目
-
这是 NotifyIcon.ShowBalloonTip() 在工作。仅使用通知来通知用户有关他无法通过其他方式轻易找到并且对他来说足够重要以引起注意的事情。就像一个几乎没电的电池。