/// <summary> /// 更新PlayButton状态及运行状态 /// </summary> /// <param name="yourState">运行状态</param> private void UpdatePlayButtonState(CaseActuatorState yourState) { if (tagItem != null) { tagItem.SubItems[7].Text = yourState.ToString(); UpdateProgressBar(); switch (yourState) { case CaseActuatorState.Stop: tagItem.SubItems[7].ForeColor = Color.Black; //runnerButton.OnChangeState(PlayButton.PlayButtonState.Stop); runnerButton.BeginInvoke(new Action <PlayButton.PlayButtonState>(runnerButton.OnChangeState), PlayButton.PlayButtonState.Stop); break; case CaseActuatorState.Pause: tagItem.SubItems[7].ForeColor = Color.Red; //runnerButton.OnChangeState(PlayButton.PlayButtonState.Pause); runnerButton.BeginInvoke(new Action <PlayButton.PlayButtonState>(runnerButton.OnChangeState), PlayButton.PlayButtonState.Pause); break; case CaseActuatorState.Running: tagItem.SubItems[7].ForeColor = Color.Orange; //runnerButton.OnChangeState(PlayButton.PlayButtonState.Run); runnerButton.BeginInvoke(new Action <PlayButton.PlayButtonState>(runnerButton.OnChangeState), PlayButton.PlayButtonState.Run); break; default: break; } } }
void runerActuator_OnActuatorStateChanged(string sender, CaseActuatorState yourState) { if (tagItem != null) { if (tagItem.ListView.InvokeRequired) { tagItem.ListView.BeginInvoke(new Action <CaseActuatorState>(UpdatePlayButtonState), yourState); } else { UpdatePlayButtonState(yourState); } } }