110,499
社区成员
发帖
与我相关
我的任务
分享
/// <summary>
/// 异步回零点
/// </summary>
/// <returns></returns>
public virtual bool AsynGoHome()
{
if (IsLinked == false)
return false;
ThreadPool.QueueUserWorkItem(
delegate(object obj)
{
GoHomeResult res = GoHome();
OnAsynGoHomeCompleted(res);
});
return true;
}
/// <summary>
/// 异步回零完成事件
/// </summary>
public event EventHandler AsynGoHomeCompleted;
protected void OnAsynGoHomeCompleted(GoHomeResult result)
{
if (AsynGoHomeCompleted != null)
{
this.AsynGoHomeCompleted(this, new AsynGoHomeCompletedEventArgs(result));
}
}
Form.CheckForIllegalCrossThreadCalls = false;
private void MainForm_Load(object sender, EventArgs e)
{
_Worker = new SeparationWorker(panel_preview);
_Worker.Init();
_Worker.Motion.AsynGoHomeCompleted += new EventHandler(Motion_AsynGoHomeCompleted);
}
void Motion_AsynGoHomeCompleted(object sender, EventArgs e)
{
AsynGoHomeCompletedEventArgs ae=e as AsynGoHomeCompletedEventArgs;
this.Invoke((MethodInvoker)delegate{
this.label1.Text = ae.ToString();
});
}