如何创建类似于Windows Messenger、AVG、Norton等弹出气球的效果?
我想要它显示信息,然后在几秒钟后滑动消失。
编辑:需要像 Form.ShowDialog() 一样阻止程序运行,因为显示通知后程序会退出
如何创建类似于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设计的一个重要部分是它们不是对话框:它们是短暂的,潜在的非交互式的元素,旨在为用户提供偶发信息而不必打断他们的工作流程。窃取焦点并阻止用户输入的气球最多会让人感到恼怒 - 如果你需要一个对话框,那就使用对话框。
.NET 1.1 Visual Basic Power Pack 包含一个烤面包机控件。