嗨,当用户点击气球提示时,我试图运行一些代码。目前,它显示的是气球提示,但当我单击它时,委托没有被触发。
这就是创建NotifyIcon的地方。
private NotifyIcon notifyIcon;
public ClockOutTimer(DateTime? clockOutTime)
{
//IF CLOCK OUT TIME = NULL SET CLOCK OUT TIME TO 5 HOURS IN FUTURE
ClockOutTime = clockOutTime ?? DateTime.Now.AddHours(5);
notifyIcon = new NotifyIcon()
{
Icon = Properties.Resources.MainIcon,
Text = "Organiser"
};
//CREATE DELEGATE FOR BALOON CLICKED
notifyIcon.BalloonTipClicked += delegate
{
//NOT GOING HERE :(
MessageBox.Show("TEST");
};
notifyIcon.BalloonTipIcon = ToolTipIcon.None;
notifyIcon.BalloonTipText = String.Format("It is nearing {0} would you like to clock out?", ClockOutTime.ToString("HH:mm"));
notifyIcon.BalloonTipTitle = "Organiser";
//START REMINDER THREAD
_Reminder = new Thread(new ThreadStart(_reminder));
_Reminder.Start();
}这就是所谓的气球尖端。
private void Remind()
{
//IF USER IS IN REMIND USER TO CLOCK OUT
if (!Global.CurrentUser.In)
{ this.Dispose(); return; }
notifyIcon.Visible = true;
notifyIcon.ShowBalloonTip(20000);
//Thread.Sleep(5000);
//notifyIcon.Visible = false;
//this.Dispose();
}还用IntelliSense为您创建的方法进行了尝试,但这也不起作用。
变到
NotifyIcon notifyIcon = new NotifyIcon()
{
Icon = Properties.Resources.MainIcon,
Text = "Organiser",
BalloonTipIcon = ToolTipIcon.None,
BalloonTipText = String.Format("It is nearing {0} would you like to clock out?", ClockOutTime.ToString("HH:mm")),
BalloonTipTitle = "Organiser",
};
notifyIcon.BalloonTipClosed += new EventHandler(BalloonClicked);
notifyIcon.Click += new EventHandler(BalloonClicked);
notifyIcon.BalloonTipClicked += new EventHandler(BalloonClicked);
notifyIcon.BalloonTipShown += new EventHandler(BalloonClicked);
notifyIcon.Disposed += new EventHandler(BalloonClicked);
notifyIcon.MouseClick += (object sender, MouseEventArgs e) => MessageBox.Show(e.X.ToString());
notifyIcon.Visible = true;
notifyIcon.ShowBalloonTip(20000);现在,所有的代码都在一种方法中,但仍然无法工作。所有事件都没有发生
已更新
这是因为我没有在主线程上运行该方法。谢谢你的帮忙
发布于 2015-08-29 01:22:18
尝试替换以下内容:
notifyIcon.BalloonTipClicked += delegate
{
//NOT GOING HERE :(
MessageBox.Show("TEST");
};通过以下方式:
notifyIcon.BalloonTipClicked += (sender, e) => {
//Your code.
};https://stackoverflow.com/questions/32281509
复制相似问题