public static void UpdateGUI(Transaction txn, string name, string msg) { try { string method = txn.Method; Form manual = Application.OpenForms["FormManual"]; if (manual == null) { return; } if (manual.InvokeRequired) { UpdateGUI_D ph = new UpdateGUI_D(UpdateGUI); manual.BeginInvoke(ph, txn, name, msg); } else { switch (method) { case Transaction.Command.AlignerType.GetStatus: StateUtil.UpdateSTS(name, msg); break; case Transaction.Command.RobotType.GetCombineStatus: StateUtil.UpdateCombineStatus(name, msg); break; case Transaction.Command.AlignerType.GetSpeed: StateUtil.UpdateSP(name, msg); break; case Transaction.Command.AlignerType.GetRIO: StateUtil.UpdateRIO(name, msg); break; case Transaction.Command.AlignerType.GetError: StateUtil.UpdateError(name, msg); break; case Transaction.Command.AlignerType.GetMode: StateUtil.UpdateMode(name, msg); break; case Transaction.Command.AlignerType.GetSV: StateUtil.UpdateSV(name, msg); break; default: manual.Cursor = Cursors.Default; Control tbcManual = manual.Controls.Find("tbcManual", true).FirstOrDefault() as Control; tbcManual.Enabled = true; return; } UpdateStatus(name); } } catch (Exception e) { logger.Error("Aligner Manual Function: fail."); Console.WriteLine("Exception caught: {0}", e); } }