我在c#中有一个winform应用程序。主要形式通常是最小化的。 当某些事件发生时,我想创建一个小的弹出窗体,在托盘图标上方显示动画,点击它,将显示主窗体。
要实现这一点,我只是创建简单的表单?还是有特殊的系统形式? 例如,有一条弹出消息通过msn messenger警告新邮件。
提前感谢。
答案 0 :(得分:4)
Here's a SO question涵盖了这个话题。你正在寻找的是一种“吐司”的信息。
答案 1 :(得分:1)
我使用NotifyIcon control in WinForms取得了成功。在表单中添加NotifyIcon,然后在事件处理程序中调用其ShowBalloonToolTip function以显示您的消息。为NotifyIcon.DoubleClick event定义事件处理程序,然后弹出主窗口。请务必同时隐藏气球消息。
可以找到here的一个很好的例子。
在WPF中推荐使用相同的技术,但我并不喜欢在WPF应用程序中包含WinForms组件。我以前做过,但它伤害了灵魂。
答案 2 :(得分:1)
msn使用的“Toast”弹出窗口是自定义弹出窗口,但在notifyicon上有一个内置的ShowBalloonTip方法
请参阅http://msdn.microsoft.com/en-us/library/system.windows.forms.notifyicon.aspx
答案 3 :(得分:1)
您可以创建一个(无边框)表单来执行此操作。你可能还希望在优秀的Transitions库中获得一张战利品,用于淡入/淡出,滑动或调整大小。
答案 4 :(得分:1)
form.showdialog()
应该在form是表单类的实例的地方工作。
对于某些代码,您可以参考WorkingWithWinForms。
如果您想显示问题或信息,可以使用MessageBox
。这是一个messagebox-show。
答案 5 :(得分:0)
您应该创建一个普通表单。
如果您不想要普通的窗口镶边(标题栏和框架),请将FormBorderStyle
设置为None
。