private void UpdateProcessInstanceButtons(ProcessInstance instance) { instanceRestartToolStripButton.Enabled = false; instanceStopToolStripButton.Enabled = false; instanceDeleteToolStripButton.Enabled = false; instanceViewFlowToolStripButton.Enabled = false; instanceRetryToolStripButton.Enabled = false; instanceGotoActivityToolStripButton.Enabled = false; if (instance == null) { return; } switch (instance.GetProcessInstanceStatus()) { case ProcessInstanceStatus.Error: instanceRetryToolStripButton.Enabled = true; break; case ProcessInstanceStatus.Running: instanceStopToolStripButton.Enabled = true; break; case ProcessInstanceStatus.Active: instanceStopToolStripButton.Enabled = true; instanceDeleteToolStripButton.Enabled = true; instanceGotoActivityToolStripButton.Enabled = true; instanceViewFlowToolStripButton.Enabled = true; break; case ProcessInstanceStatus.Completed: break; case ProcessInstanceStatus.Stopped: instanceRestartToolStripButton.Enabled = true; instanceDeleteToolStripButton.Enabled = true; instanceViewFlowToolStripButton.Enabled = true; break; case ProcessInstanceStatus.Deleted: break; case ProcessInstanceStatus.Undefined: break; default: break; } }