繁体   English   中英

如何在我的应用程序中添加toast样式弹出窗口?

[英]How to add toast style popup to my application?

我创建了一个在任务栏中运行的应用程序。 当用户点击应用程序时,它会弹出等等。当我的一个朋友登录时,我想要的功能与MSN中的功能类似。显然这是一个知道的吐司弹出窗口? 我基本上希望从任务栏中的应用程序每隔20分钟弹出一些东西。

我现有的应用程序是基于C#和.net 3.5编写的winforms

这很简单。 您只需在屏幕外区域设置窗口并为其位置设置动画,直到它完全可见。 这是一个示例代码:

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);
    }
}

在Win32中支持通知气球(我不是.net程序员),有一些有用的属性,如旧的新东西所解释的那样

还有一个系统范围的信号量,你应该锁定它以防止一次出现的任何应用程序弹出多个弹出窗口。

在msdn上的吐司信号上有几页 - 吐司信号更广泛的可用性 我还看到了一些示例代码 ,在查看时使用C#的气球api,但无法保证它。

对于可定制和更好看的通知..

检查此链接..

您正在将窗体移出屏幕右侧,然后将其抬起。 它实际上永远不会进入桌面视图。 X轴为左右,Y轴为上下。 添加到X轴使其更加正确,并且添加到Y轴使其进一步向下。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM