如何在我的应用程序中添加吐司样式弹出窗口? [英] How to add toast style popup to my application?
问题描述
我创建了一个在任务栏中运行的应用程序。当用户单击该应用程序时,它将弹出等。当我的一个朋友登录时,我想要的功能与MSN中的功能类似。显然,这是一个吐司弹出窗口吗?
我基本上希望每20分钟从任务栏上的应用程序中弹出吐司样式弹出的东西。
I have created an application that runs in the taskbar. When a user clicks the application it pops up etc. What I would like is similar functionality to that in MSN when one of my friends logs in. Apparently this is know as a toast popup? I basically want something to popup from every 20 minutes toast style fom the application in the taskbar.
我现有的应用程序是使用.net用C#编写的winforms。 3.5
My existing application is winforms based written in C# with .net 3.5
推荐答案
这很简单。您只需要在窗口外的区域中设置窗口并设置其位置的动画效果,直到完全可见即可。下面是示例代码:
This is pretty simple. You just need to set window in off-screen area and animate it's position until it is fully visible. Here is a sample code:
public partial class Form1 : Form
{
private Timer timer;
private int startPosX;
private int startPosY;
public Form1()
{
InitializeComponent();
// We want our window to be the top most
TopMost = true;
// Pop doesn't need to be shown in task bar
ShowInTaskbar = false;
// Create and run timer for animation
timer = new Timer();
timer.Interval = 50;
timer.Tick += timer_Tick;
}
protected override void OnLoad(EventArgs e)
{
// Move window out of screen
startPosX = Screen.PrimaryScreen.WorkingArea.Width - Width;
startPosY = Screen.PrimaryScreen.WorkingArea.Height;
SetDesktopLocation(startPosX, startPosY);
base.OnLoad(e);
// Begin animation
timer.Start();
}
void timer_Tick(object sender, EventArgs e)
{
//Lift window by 5 pixels
startPosY -= 5;
//If window is fully visible stop the timer
if (startPosY < Screen.PrimaryScreen.WorkingArea.Height - Height)
timer.Stop();
else
SetDesktopLocation(startPosX, startPosY);
}
}
这篇关于如何在我的应用程序中添加吐司样式弹出窗口?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!