在阻止主线程的同时允许回调

用户名

给出以下代码:

public static void main()
{
    NotifyWindow.NotifyIcon.DoubleClick += new EventHandler(NotifyIconDoubleClick);
    NotifyWindow.Show(500, "some text", "some title");
    Thread.Sleep(10000);
}

private static void NotifyIconDoubleClick(Object sender, EventArgs e)
{
    Clipboard.SetText("test");
}

(NotifyWindow是NotifyIcon的包装器

我想给用户双击NotifyWindow的可能性,以便触发该事件。遗憾的是,这不适用于Thread.Sleep()方法,因为这次回调被冻结了。

有什么办法可以存档吗?

PMF

您需要一个消息循环才能使事件处理正常进行。实现此目的的一种方法是使用ShowDialog创建和“显示”隐藏的窗口Application.Run()如果单击该图标时应执行的操作正在显示一个窗口,则可能希望仅在开始时创建该窗口,但是将其“显示”为隐藏或最小化。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章