我有一个C#的WINFORM应用程序,主窗体通常是最小化的。当发生某些事件时,我想创建一个小弹出窗口,在托盘图标上方显示动画和消息,单击它会将主窗体带到前台。
要实现这一点,我只需创建简单的窗体吗?还是有特殊的系统窗体可用? 例如,有一个弹出消息提醒有新邮件的MSN Messenger。
提前感谢您的回复。
要实现这一点,我只需创建简单的窗体吗?还是有特殊的系统窗体可用? 例如,有一个弹出消息提醒有新邮件的MSN Messenger。
提前感谢您的回复。
我曾经成功地使用WinForms中的NotifyIcon控件。在你的表单中添加一个NotifyIcon,然后在事件处理程序中调用它的ShowBalloonToolTip函数来显示你的消息。为NotifyIcon.DoubleClick事件定义一个事件处理程序,并弹出你的主窗口。一定要同时隐藏气球消息。
如何做到这一点的一个不错的例子可以在这里找到。
相同的技术也推荐在WPF中使用,尽管我不喜欢在WPF应用程序中包含WinForms组件。我以前做过,但它会伤害灵魂。
MSN使用的“Toast”弹出窗口是自定义的,但在notifyicon上有一个内置的ShowBalloonTip方法。
请参见http://msdn.microsoft.com/en-us/library/system.windows.forms.notifyicon.aspx
form.showdialog()
应该在form是一个窗体类的实例时工作。
对于一些代码,您可以参考 WorkingWithWinForms。
如果您想显示一个问题或信息,您可以使用MessageBox
。这里有一个 messagebox-show 。
你应该创建一个普通表单。
如果你不想要普通的窗口边框(标题栏和框架),将FormBorderStyle
设置为None
。