如何创建弹出气球,就像从Windows Messenger或AVG或Norton或其他任何人那样?
我想让它显示信息,然后在几秒后滑开.
编辑:它需要像Form.ShowDialog()一样阻止,因为程序在显示通知后退出
您可以使用属于.NET 2.0 System.Windows.Forms的notifyIcon控件.这允许您在系统托盘中放置应用程序的图标.然后,您可以在其上调用ShowBalloonTip(int timeOut)方法.但是,请务必先在notifyIcon上设置文本和图标属性,以使其正常工作.小代码示例:
private void button1_Click(object sender, EventArgs e) { this.notifyIcon1.BalloonTipText = "Whatever"; this.notifyIcon1.BalloonTipTitle = "Title"; this.notifyIcon1.Icon = new Icon("icon.ico"); this.notifyIcon1.Visible = true; this.notifyIcon1.ShowBalloonTip(3); }
编辑:好的,所以notifyIcon不适合你.我的第二个建议是为此创建自己的控件.实际上,我会使用一个表格.一个简单的表单,没有边框,没有控制框,只有一个计时器运行,所以你可以设置不透明度淡入/淡出.然后,您可以使用Rectangle Screen.PrimaryScreen.WorkingArea轻松获取屏幕的右下角.然后只需在那个位置显示你的表格.
不要创建模态(阻塞)气球.请.这些UI设计的一个重要部分是它们不是对话框:它们是瞬态的,可能是非交互式元素,旨在向用户提供附带信息,而不必中断其工作流程.一个窃取焦点并阻止用户输入的气球充其量是刺激性的 - 如果你需要一个对话框,那么使用一个对话框.
您可能希望查看这篇文章http://www.codeproject.com/KB/miscctrl/RobMisNotifyWindow.aspx,其中包含显示类似MSN Messenger的通知窗口的代码