C# 清除Windows Mobile上的通知图标
我正在为CE6.5创建一个通知,但是这个通知是在循环检查中出现的,所以通知图标逐渐增加。有没有办法去除它们?或者干脆不让他们出现?重要的是通知窗口,而不是系统托盘图标。 .Dispose在图标上不起任何作用,也不会使其无效,只是空白。我试着做一个气球变化的事件,如果看不见,它会被处理掉,但仍然不起作用C# 清除Windows Mobile上的通知图标,c#,winforms,windows-ce,C#,Winforms,Windows Ce,我正在为CE6.5创建一个通知,但是这个通知是在循环检查中出现的,所以通知图标逐渐增加。有没有办法去除它们?或者干脆不让他们出现?重要的是通知窗口,而不是系统托盘图标。 .Dispose在图标上不起任何作用,也不会使其无效,只是空白。我试着做一个气球变化的事件,如果看不见,它会被处理掉,但仍然不起作用 notification.BalloonChanged += new Microsoft.WindowsCE.Forms.BalloonChangedEventHandler(
notification.BalloonChanged += new Microsoft.WindowsCE.Forms.BalloonChangedEventHandler(
delegate(object s, Microsoft.WindowsCE.Forms.BalloonChangedEventArgs e)
{
if (!notification.Visible)
notification.Dispose();
});
我所有的搜索都只返回程序完成后处理的建议。
不管怎么说,这就是我的工作。谢谢
private delegate void DelegateNotificationWindow(string error, int seconds);
private void InvokeNotificationWindow(string message, int seconds)
{
Microsoft.WindowsCE.Forms.Notification notification = new Microsoft.WindowsCE.Forms.Notification();
notification.Icon = Properties.Resources.Icon;
notification.InitialDuration = seconds;
notification.Caption = "Notification";
notification.Critical = false;
notification.Text = String.Format("<html><body><b>{0}</b></body></html>", message);
notification.Visible = true;
}
public void ShowNotification(NotificationType type)
{
string message = "";
switch (type)
{
case NotificationType.None: return;
case NotificationType.NewEntitiesAvailable:
message = "New Inspections/Works available, please run Receive New.";
break;
}
DelegateNotificationWindow dlgt = new DelegateNotificationWindow(InvokeNotificationWindow);
this.BeginInvoke(dlgt, message, 10);
}
Dispose是对的,我只需要制作一个单独的计时器,而不是使用事件。这似乎是我想要的
Timer _timer = new Timer();
_timer.Tick += new EventHandler(delegate(object s, EventArgs e) { notification.Dispose(); });
_timer.Interval = seconds * 1000;
_timer.Enabled = true;
只是一个旁注,当我说BalloodChangedEventHandler不工作时-图标在运行后仍在托盘中,但按下它会导致系统挂起,而不是显示通知。