【发布时间】:2013-02-17 15:19:22
【问题描述】:
我正在构建一个使用ManualResetEvent 的方法,但是在我启动WaitOne 方法后我无法让它运行。这是我的方法代码。代码运行代码,直到它运行到wait.WaitOne() 调用。谢谢!!
var wait = new ManualResetEvent(false);
Color tmpColor = new Color();
MouseEventHandler tmpHandler = null;
ThreadPool.QueueUserWorkItem(delegate
{
Debug.WriteLine("Adding MouseEventHandler..");
tmpHandler = new MouseEventHandler(
(sender, e) =>
{
if (e.Button == MouseButtons.Left)
{
Bitmap tmpImage = new Bitmap(imgBox.Image);
tmpColor = tmpImage.GetPixel(e.X, e.Y);
Debug.WriteLine("Testing..");
}
else
{
Debug.WriteLine("Closing..");
this.Close();
}
wait.Set();
}
);
imgBox.MouseClick += tmpHandler;
});
Debug.WriteLine("Waiting..");
wait.WaitOne();
Debug.WriteLine("Running..");
【问题讨论】:
-
这是预期的行为。你期待什么?
-
我使用了这个网站上提出的问题的示例。 Ofcource我无法再次找到特定页面。但是在问题的答案中出现了这个解决方案,并通过它对他有用的原始海报的评论来寻找。所以我认为我做错了什么。但是@leppie 你有一个可能的解决方案,让我得到我想要完成的工作结果吗?谢谢
标签: c# manualresetevent