c# AutoResetEvent 循环暂停 主界面卡死
AutoResetEvent eventPauseRequired = new AutoResetEvent(false);
AutoResetEvent eventResumeRequired = new AutoResetEvent(false);
//执行操作
private void button1_Click(object sender, EventArgs e)
{
for (int i = 0; i < dt_main.Rows.Count; i++)
{
if (eventPauseRequired.WaitOne(0))
{
eventResumeRequired.WaitOne();
}
else
{
..............................
eventPauseRequired.Set();
}
}
以上是要执行的操作
======================================================
以下是接收外部程序发来的信息,收到信息则继续以上的操作
public const int USER = 0x0400;
public const int WM_CMM = USER + 10000;
protected override void DefWndProc(ref System.Windows.Forms.Message m)
{
switch (m.Msg)
{
case WM_CMM: //处理消息
if (m.WParam.ToInt32() == 0)
{
eventResumeRequired.Set();
}
break;
default:
base.DefWndProc(ref m);//调用基类函数处理非自定义消息。
break;
}
}
============================================
i=0执行完毕就卡死,求教各位。多谢!