private void OnStateUpdate(TargetState targetState) { StateUpdateEventArgs args = new StateUpdateEventArgs(targetState); if (mLastUpdateMessage == null || !mLastUpdateMessage.Equals(args)) { mLastUpdateMessage = args; if (mForm != null && mForm.IsHandleCreated) { mForm.BeginInvoke(new MethodInvoker(delegate() { if (this.StateUpdate != null) { this.StateUpdate(this, args); } })); } } }