如何在没有Windows窗体的情况下动态显示NotifyIcon

时间:2017-10-29 06:48:00

标签: c# notifyicon

我希望在经过时间结束后显示NotifyIcon而不是消息框

这是我的代码:

1.这段代码在我的表单窗口中:

string message = "The " + targetGrid.Rows[i].Cells[2].Value + " batch is completed!";// dataGridrow contains "00:05:22" (time) 
notify.notifyTimer(TimeSpan.Parse(rTime), message);

2.这是我的通知类,通知是该类的对象

class NotifyClass
    {
    string msg;
    public void notifyTimer(TimeSpan rts, string message)
    {
        var aTimer = new System.Timers.Timer(rts.TotalMilliseconds);
        aTimer.Elapsed += new ElapsedEventHandler(OnTimedEvent);
        aTimer.Enabled = true;
        msg = message;
    }
    private void OnTimedEvent(Object source, System.Timers.ElapsedEventArgs e)
    {

        System.IO.Stream str = Properties.Resources.ios_notification;
        System.Media.SoundPlayer player = new System.Media.SoundPlayer(str);
        player.Play();
        MessageBox.Show(msg); **// Here i want to display notifyIcon**
        player.Stop();
    }
}

这样做,请帮助我..

1 个答案:

答案 0 :(得分:0)

您可以找到有关如何在没有表单here的情况下添加NotifyIcon的教程。

所有你想改变以使其显示的是,而不是在程序开始时键入notifyIcon1.Visible = true,而是将该命令放在一个事件中。

执行结束时仍然需要notifyIcon1.Visible = false