public ActionDialog(BoardInterface board, String title, BoardAction currentAction) { InitializeComponent(); Text = title; Board = board; Action = currentAction; DialogResult = DialogResult.Cancel; NoAction.Tag = NoActionLabel; SetLedAction.Tag = SetLedActionOptions; SetPinAction.Tag = SetPinActionOptions; TogglePinAction.Tag = TogglePinActionOptions; RunScriptAction.Tag = RunScriptActionOptions; SendTextAction.Tag = SendTextActionOptions; NoActionLabel.Enabled = false; SetLedActionOptions.Enabled = false; SetPinActionOptions.Enabled = false; TogglePinActionOptions.Enabled = false; RunScriptActionOptions.Enabled = false; SendTextActionOptions.Enabled = false; if (Board != null) { Object[] pins = Board.OutputPins.Cast <Object>().ToArray(); SetPinActionPinOption.Items.AddRange(pins); TogglePinActionPinOption.Items.AddRange(pins); } else { TestAction.Hide(); } UpdateUiForAction(Action); }