public void LoadRobot(RobotDataManager robotDataManager) { SuspendLayout(); DefinePartsLayout.Controls.Clear(); DefinePartsLayout.RowStyles.Clear(); jointCards.Clear(); foreach (var node in robotDataManager.RobotBaseNode.ListAllNodes()) { if (node.GetSkeletalJoint() == null || JointDriver.GetAllowedDrivers(node.GetSkeletalJoint()).Length == 0) { continue; } var panel = new JointCardUC(node, this, robotDataManager) { Dock = DockStyle.Top }; jointCards.Add(panel); AddControlToNewTableRow(panel, DefinePartsLayout); } jointCards.ForEach(card => card.LoadPreviewIcon()); ResumeLayout(); }
public void ShowDialog(SkeletalJoint_Base baseJoint, List <RigidNode_Base> nodes, Form owner) { Saved = false; if (nodes.Count > 1) { bool same = true; foreach (RigidNode_Base node in nodes) { JointDriver driver = node.GetSkeletalJoint().cDriver; if (driver == null || driver.CompareTo(baseJoint.cDriver) != 0) { same = false; } } if (same) { joint = baseJoint; } else { joint = SkeletalJoint_Base.JOINT_FACTORY(baseJoint.GetJointType()); } } else { joint = baseJoint; } this.nodes = nodes; typeOptions = JointDriver.GetAllowedDrivers(joint); // Used for capitalization TextInfo textInfo = new CultureInfo("en-US", true).TextInfo; cmbJointDriver.Items.Clear(); cmbJointDriver.Items.Add("No Driver"); foreach (JointDriverType type in typeOptions) { cmbJointDriver.Items.Add(textInfo.ToTitleCase(Enum.GetName(typeof(JointDriverType), type).Replace('_', ' ').ToLowerInvariant())); } if (joint.cDriver != null) { cmbJointDriver.SelectedIndex = Array.IndexOf(typeOptions, joint.cDriver.GetDriveType()) + 1; if (joint.cDriver.port1 < txtPort1.Minimum) { txtPort1.Value = txtPort1.Minimum; } else if (joint.cDriver.port1 > txtPort1.Maximum) { txtPort1.Value = txtPort1.Maximum; } else { txtPort1.Value = joint.cDriver.port1; } if (joint.cDriver.port2 < txtPort2.Minimum) { txtPort2.Value = txtPort2.Minimum; } else if (joint.cDriver.port2 > txtPort2.Maximum) { txtPort2.Value = txtPort2.Maximum; } else { txtPort2.Value = joint.cDriver.port2; } txtLowLimit.Value = (decimal)joint.cDriver.lowerLimit; txtHighLimit.Value = (decimal)joint.cDriver.upperLimit; rbPWM.Checked = !joint.cDriver.isCan; rbCAN.Checked = joint.cDriver.isCan; chkBoxHasBrake.Checked = joint.cDriver.hasBrake; if (joint.cDriver.OutputGear == 0)// prevents output gear from being 0 { joint.cDriver.OutputGear = 1; } if (joint.cDriver.InputGear == 0)// prevents input gear from being 0 { joint.cDriver.InputGear = 1; } OutputGeartxt.Value = (decimal)joint.cDriver.OutputGear; // reads the existing gearing and writes it to the input field so the user sees their existing value InputGeartxt.Value = (decimal)joint.cDriver.InputGear; // reads the existing gearing and writes it to the input field so the user sees their existing value { PneumaticDriverMeta pneumaticMeta = joint.cDriver.GetInfo <PneumaticDriverMeta>(); if (pneumaticMeta != null) { numericUpDownPnuDia.Value = (decimal)pneumaticMeta.width; cmbPneumaticPressure.SelectedIndex = (int)pneumaticMeta.pressureEnum; } else { numericUpDownPnuDia.Value = (decimal)1.0; cmbPneumaticPressure.SelectedIndex = (int)PneumaticPressure.HIGH; } } { WheelDriverMeta wheelMeta = joint.cDriver.GetInfo <WheelDriverMeta>(); if (wheelMeta != null) { try { cmbWheelType.SelectedIndex = (int)wheelMeta.type; cmbFrictionLevel.SelectedIndex = (int)wheelMeta.GetFrictionLevel(); } catch { // If an exception was thrown (System.ArguementOutOfRangeException) it means // the user did not choose a wheel type when they were configuring the // wheel joint cmbWheelType.SelectedIndex = (int)WheelType.NORMAL; cmbFrictionLevel.SelectedIndex = (int)FrictionLevel.MEDIUM; } chkBoxDriveWheel.Checked = wheelMeta.isDriveWheel; cmbWheelType_SelectedIndexChanged(null, null); } else { cmbWheelType.SelectedIndex = (int)WheelType.NOT_A_WHEEL; cmbFrictionLevel.SelectedIndex = (int)FrictionLevel.MEDIUM; } } { ElevatorDriverMeta elevatorMeta = joint.cDriver.GetInfo <ElevatorDriverMeta>(); } { switch (joint.cDriver.motor) { case MotorType.GENERIC: RobotCompetitionDropDown.SelectedItem = RobotExporterAddInServer.Instance.AddInSettingsManager.DefaultRobotCompetition.ToString(); MotorTypeDropDown.SelectedItem = "GENERIC"; break; case MotorType.CIM: RobotCompetitionDropDown.SelectedItem = "FRC"; MotorTypeDropDown.SelectedItem = "CIM"; break; case MotorType.MINI_CIM: RobotCompetitionDropDown.SelectedItem = "FRC"; MotorTypeDropDown.SelectedItem = "MIN_CIM"; break; case MotorType.BAG_MOTOR: RobotCompetitionDropDown.SelectedItem = "FRC"; MotorTypeDropDown.SelectedItem = "BAG_MOTOR"; break; case MotorType.REDLINE_775_PRO: RobotCompetitionDropDown.SelectedItem = "FRC"; MotorTypeDropDown.SelectedItem = "REDLINE_775_PRO"; break; case MotorType.ANDYMARK_9015: RobotCompetitionDropDown.SelectedItem = "FRC"; MotorTypeDropDown.SelectedItem = "ANDYMARK_9015"; break; case MotorType.BANEBOTS_775_18v: RobotCompetitionDropDown.SelectedItem = "FRC"; MotorTypeDropDown.SelectedItem = "BANEBOTS_775_18v"; break; case MotorType.BANEBOTS_775_12v: RobotCompetitionDropDown.SelectedItem = "FRC"; MotorTypeDropDown.SelectedItem = "BANEBOTS_775_12v"; break; case MotorType.BANEBOTS_550_12v: RobotCompetitionDropDown.SelectedItem = "FRC"; MotorTypeDropDown.SelectedItem = "BANEBOTS_550_12v"; break; case MotorType.ANDYMARK_775_125: RobotCompetitionDropDown.SelectedItem = "FRC"; MotorTypeDropDown.SelectedItem = "ANDYMARK_775_125"; break; case MotorType.SNOW_BLOWER: RobotCompetitionDropDown.SelectedItem = "FRC"; MotorTypeDropDown.SelectedItem = "SNOW_BLOWER"; break; case MotorType.NIDEC_BLDC: RobotCompetitionDropDown.SelectedItem = "FRC"; MotorTypeDropDown.SelectedItem = "NIDEC_BLDC"; break; case MotorType.THROTTLE_MOTOR: RobotCompetitionDropDown.SelectedItem = "FRC"; MotorTypeDropDown.SelectedItem = "THROTTLE_MOTOR"; break; case MotorType.WINDOW_MOTOR: RobotCompetitionDropDown.SelectedItem = "FRC"; MotorTypeDropDown.SelectedItem = "WINDOW_MOTOR"; break; case MotorType.NEVEREST: RobotCompetitionDropDown.SelectedItem = "FTC"; MotorTypeDropDown.SelectedItem = "NEVEREST"; break; case MotorType.TETRIX_MOTOR: RobotCompetitionDropDown.SelectedItem = "FTC"; MotorTypeDropDown.SelectedItem = "TETRIX_MOTOR"; break; case MotorType.MODERN_ROBOTICS_MATRIX: RobotCompetitionDropDown.SelectedItem = "FTC"; MotorTypeDropDown.SelectedItem = "MODERN_ROBOTICS_MATRIX"; break; case MotorType.REV_ROBOTICS_HD_HEX_20_TO_1: RobotCompetitionDropDown.SelectedItem = "FTC"; MotorTypeDropDown.SelectedItem = "REV_ROBOTICS_HD_HEX_20_TO_1"; break; case MotorType.REV_ROBOTICS_HD_HEX_40_TO_1: RobotCompetitionDropDown.SelectedItem = "FTC"; MotorTypeDropDown.SelectedItem = "REV_ROBOTICS_HD_HEX_40_TO_1"; break; case MotorType.REV_ROBOTICS_CORE_HEX: RobotCompetitionDropDown.SelectedItem = "FTC"; MotorTypeDropDown.SelectedItem = "REV_ROBOTICS_CORE_HEX"; break; case MotorType.VEX_V5_Smart_Motor_600_RPM: RobotCompetitionDropDown.SelectedItem = "VEX"; MotorTypeDropDown.SelectedItem = "VEX_V5_Smart_Motor_600_RPM"; break; case MotorType.VEX_V5_Smart_Motor_200_RPM: RobotCompetitionDropDown.SelectedItem = "VEX"; MotorTypeDropDown.SelectedItem = "VEX_V5_Smart_Motor_200_RPM"; break; case MotorType.VEX_V5_Smart_Motor_100_RPM: RobotCompetitionDropDown.SelectedItem = "VEX"; MotorTypeDropDown.SelectedItem = "VEX_V5_Smart_Motor_100_RPM"; break; case MotorType.VEX_393_NORMAL_SPEED: RobotCompetitionDropDown.SelectedItem = "VEX"; MotorTypeDropDown.SelectedItem = "VEX_393_NORMAL_SPEED"; break; case MotorType.VEX_393_HIGH_SPEED: RobotCompetitionDropDown.SelectedItem = "VEX"; MotorTypeDropDown.SelectedItem = "VEX_393_HIGH_SPEED"; break; case MotorType.VEX_393_TURBO_GEAR_SET: RobotCompetitionDropDown.SelectedItem = "VEX"; MotorTypeDropDown.SelectedItem = "VEX_393_TURBO_GEAR_SET"; break; } } } else //Default values { cmbJointDriver.SelectedIndex = 0; txtPort1.Value = txtPort1.Minimum; txtPort2.Value = txtPort2.Minimum; txtLowLimit.Value = txtLowLimit.Minimum; txtHighLimit.Value = txtHighLimit.Minimum; InputGeartxt.Value = (decimal)1.0; OutputGeartxt.Value = (decimal)1.0; rbPWM.Checked = true; chkBoxHasBrake.Checked = false; numericUpDownPnuDia.Value = (decimal)0.5; cmbPneumaticPressure.SelectedIndex = (int)PneumaticPressure.MEDIUM; cmbWheelType.SelectedIndex = (int)WheelType.NOT_A_WHEEL; cmbFrictionLevel.SelectedIndex = (int)FrictionLevel.MEDIUM; chkBoxDriveWheel.Checked = false; RobotCompetitionDropDown.SelectedItem = RobotExporterAddInServer.Instance.AddInSettingsManager.DefaultRobotCompetition; MotorTypeDropDown.SelectedItem = "GENERIC"; } PrepLayout(); base.Location = new System.Drawing.Point(Cursor.Position.X - 10, Cursor.Position.Y - base.Height - 10); this.ShowDialog(owner); }
public void LoadValues() { advancedSettingsForm = new AdvancedJointSettingsForm(node.GetSkeletalJoint()); var joint = node.GetSkeletalJoint(); var typeOptions = JointDriver.GetAllowedDrivers(joint); // TODO: This doesn't protect multi-edit jointTypeComboBox.Items.Clear(); if (typeOptions.Contains(JointDriverType.MOTOR)) { jointTypeComboBox.Items.AddRange(new object[] { "(Select an option)", "Drivetrain Wheel", "Mechanism Joint" }); } else { jointTypeComboBox.Items.AddRange(new object[] { "(Select an option)", "Mechanism Joint" }); } driverTypeComboBox.Items.Clear(); var textInfo = new CultureInfo("en-US", true).TextInfo; foreach (var type in typeOptions) { var name = Enum.GetName(typeof(JointDriverType), type); if (name != null) // TODO: Get rid of this mess { driverTypeComboBox.Items.Add(textInfo.ToTitleCase(name.Replace('_', ' ').ToLowerInvariant())); } } jointName.Text = ToStringUtils.NodeNameString(node); // Defaults when switched: weightInput.Value = 0; dtSideComboBox.SelectedIndex = 0; wheelTypeComboBox.SelectedIndex = 0; driverTypeComboBox.SelectedIndex = 0; var jointDriver = joint.cDriver; // sometimes null if (jointDriver == null) { jointTypeComboBox.SelectedItem = "(Select an option)"; } else if (jointDriver.port1 <= 2) // Drivetrain wheel { jointTypeComboBox.SelectedItem = "Drivetrain Wheel"; dtSideComboBox.SelectedIndex = jointDriver.port1; var wheelDriverMeta = jointDriver.GetInfo <WheelDriverMeta>(); if (wheelDriverMeta != null) { wheelTypeComboBox.SelectedIndex = (int)wheelDriverMeta.type - 1; } } else // Mechanism joint { jointTypeComboBox.SelectedItem = "Mechanism Joint"; weightInput.Value = (decimal)Math.Max(joint.weight, 0); driverTypeComboBox.SelectedIndex = Array.IndexOf(typeOptions, joint.cDriver.GetDriveType()); } }
public void SaveValues() { var joint = node.GetSkeletalJoint(); if ((string)jointTypeComboBox.SelectedItem == "(Select an option)") { joint.cDriver = null; joint.weight = 0; } else { // Driver type var cType = (string)jointTypeComboBox.SelectedItem == "Drivetrain Wheel" ? JointDriverType.MOTOR : JointDriver.GetAllowedDrivers(joint)[driverTypeComboBox.SelectedIndex]; if (joint.cDriver == null || !joint.cDriver.GetDriveType().Equals(cType)) // Defaults { joint.cDriver = new JointDriver(cType) { port1 = 3, port2 = 3, InputGear = 1, OutputGear = 1, lowerLimit = 0, upperLimit = 0, isCan = true }; } // Always joint.cDriver.hasBrake = true; joint.cDriver.motor = MotorType.GENERIC; joint.cDriver.InputGear = 1; joint.cDriver.OutputGear = advancedSettingsForm.GearRatio; joint.cDriver.lowerLimit = 0; joint.cDriver.upperLimit = 0; if ((string)jointTypeComboBox.SelectedItem == "Drivetrain Wheel") { // Port/wheel side joint.cDriver.port1 = dtSideComboBox.SelectedIndex; joint.cDriver.isCan = true; // Wheel type var wheelDriver = new WheelDriverMeta { type = (WheelType)wheelTypeComboBox.SelectedIndex + 1, isDriveWheel = true }; wheelDriver.SetFrictionLevel(FrictionLevel.MEDIUM); joint.cDriver.AddInfo(wheelDriver); // Weight joint.weight = 0; } else if ((string)jointTypeComboBox.SelectedItem == "Mechanism Joint") { // Port/wheel side joint.cDriver.port1 = advancedSettingsForm.PortId; if (joint.cDriver.port1 <= 2) { joint.cDriver.port1 = 2; } joint.cDriver.isCan = advancedSettingsForm.IsCan; // Wheel driver joint.cDriver.RemoveInfo <WheelDriverMeta>(); // Weight joint.weight = (double)weightInput.Value; } } }
public void ShowDialog(SkeletalJoint_Base baseJoint, List <RigidNode_Base> nodes, Form owner) { Saved = false; if (nodes.Count > 1) { bool same = true; foreach (RigidNode_Base node in nodes) { JointDriver driver = node.GetSkeletalJoint().cDriver; if (driver == null || driver.CompareTo(baseJoint.cDriver) != 0) { same = false; } } if (same) { joint = baseJoint; } else { joint = SkeletalJoint_Base.JOINT_FACTORY(baseJoint.GetJointType()); } } else { joint = baseJoint; } this.nodes = nodes; typeOptions = JointDriver.GetAllowedDrivers(joint); // Used for capitalization TextInfo textInfo = new CultureInfo("en-US", true).TextInfo; cmbJointDriver.Items.Clear(); cmbJointDriver.Items.Add("No Driver"); foreach (JointDriverType type in typeOptions) { cmbJointDriver.Items.Add(textInfo.ToTitleCase(Enum.GetName(typeof(JointDriverType), type).Replace('_', ' ').ToLowerInvariant())); } if (joint.cDriver != null) { cmbJointDriver.SelectedIndex = Array.IndexOf(typeOptions, joint.cDriver.GetDriveType()) + 1; if (joint.cDriver.port1 < txtPort1.Minimum) { txtPort1.Value = txtPort1.Minimum; } else if (joint.cDriver.port1 > txtPort1.Maximum) { txtPort1.Value = txtPort1.Maximum; } else { txtPort1.Value = joint.cDriver.port1; } if (joint.cDriver.port2 < txtPort2.Minimum) { txtPort2.Value = txtPort2.Minimum; } else if (joint.cDriver.port2 > txtPort2.Maximum) { txtPort2.Value = txtPort2.Maximum; } else { txtPort2.Value = joint.cDriver.port2; } txtLowLimit.Value = (decimal)joint.cDriver.lowerLimit; txtHighLimit.Value = (decimal)joint.cDriver.upperLimit; rbPWM.Checked = !joint.cDriver.isCan; rbCAN.Checked = joint.cDriver.isCan; chkBoxHasBrake.Checked = joint.cDriver.hasBrake; if (joint.cDriver.OutputGear == 0) // prevents output gear from being 0 { joint.cDriver.OutputGear = 1; } if (joint.cDriver.InputGear == 0)// prevents input gear from being 0 { joint.cDriver.InputGear = 1; } OutputGeartxt.Value = (decimal)joint.cDriver.OutputGear; // reads the existing gearing and writes it to the input field so the user sees their existing value InputGeartxt.Value = (decimal)joint.cDriver.InputGear; // reads the existing gearing and writes it to the input field so the user sees their existing value #region Meta info recovery { PneumaticDriverMeta pneumaticMeta = joint.cDriver.GetInfo <PneumaticDriverMeta>(); if (pneumaticMeta != null) { cmbPneumaticDiameter.SelectedIndex = (int)pneumaticMeta.widthEnum; cmbPneumaticPressure.SelectedIndex = (int)pneumaticMeta.pressureEnum; } else { cmbPneumaticDiameter.SelectedIndex = (int)PneumaticDiameter.MEDIUM; cmbPneumaticPressure.SelectedIndex = (int)PneumaticPressure.HIGH; } } { WheelDriverMeta wheelMeta = joint.cDriver.GetInfo <WheelDriverMeta>(); if (wheelMeta != null) { try { cmbWheelType.SelectedIndex = (int)wheelMeta.type; cmbFrictionLevel.SelectedIndex = (int)wheelMeta.GetFrictionLevel(); } catch { // If an exception was thrown (System.ArguementOutOfRangeException) it means // the user did not choose a wheel type when they were configuring the // wheel joint cmbWheelType.SelectedIndex = (int)WheelType.NORMAL; cmbFrictionLevel.SelectedIndex = (int)FrictionLevel.MEDIUM; } chkBoxDriveWheel.Checked = wheelMeta.isDriveWheel; cmbWheelType_SelectedIndexChanged(null, null); } else { cmbWheelType.SelectedIndex = (int)WheelType.NOT_A_WHEEL; cmbFrictionLevel.SelectedIndex = (int)FrictionLevel.MEDIUM; } } { ElevatorDriverMeta elevatorMeta = joint.cDriver.GetInfo <ElevatorDriverMeta>(); } #endregion } else //Default values { cmbJointDriver.SelectedIndex = 0; txtPort1.Value = txtPort1.Minimum; txtPort2.Value = txtPort2.Minimum; txtLowLimit.Value = txtLowLimit.Minimum; txtHighLimit.Value = txtHighLimit.Minimum; InputGeartxt.Value = (decimal)1.0; OutputGeartxt.Value = (decimal)1.0; rbPWM.Checked = true; chkBoxHasBrake.Checked = false; cmbPneumaticDiameter.SelectedIndex = (int)PneumaticDiameter.MEDIUM; cmbPneumaticPressure.SelectedIndex = (int)PneumaticPressure.MEDIUM; cmbWheelType.SelectedIndex = (int)WheelType.NOT_A_WHEEL; cmbFrictionLevel.SelectedIndex = (int)FrictionLevel.MEDIUM; chkBoxDriveWheel.Checked = false; } PrepLayout(); base.Location = new System.Drawing.Point(Cursor.Position.X - 10, Cursor.Position.Y - base.Height - 10); this.ShowDialog(owner); }
public void ShowDialog(SkeletalJoint_Base baseJoint, List <RigidNode_Base> nodes, Form owner) { Saved = false; if (nodes.Count > 1) { bool same = true; foreach (RigidNode_Base node in nodes) { JointDriver driver = node.GetSkeletalJoint().cDriver; if (driver == null || driver.CompareTo(baseJoint.cDriver) != 0) { same = false; } } if (same) { joint = baseJoint; } else { joint = SkeletalJoint_Base.JOINT_FACTORY(baseJoint.GetJointType()); } } else { joint = baseJoint; } this.nodes = nodes; typeOptions = JointDriver.GetAllowedDrivers(joint); cmbJointDriver.Items.Clear(); cmbJointDriver.Items.Add("No Driver"); foreach (JointDriverType type in typeOptions) { cmbJointDriver.Items.Add(Enum.GetName(typeof(JointDriverType), type).Replace('_', ' ').ToLowerInvariant()); } if (joint.cDriver != null) { cmbJointDriver.SelectedIndex = Array.IndexOf(typeOptions, joint.cDriver.GetDriveType()) + 1; txtPortA.Value = joint.cDriver.portA; txtPortB.Value = joint.cDriver.portB; txtLowLimit.Value = (decimal)joint.cDriver.lowerLimit; txtHighLimit.Value = (decimal)joint.cDriver.upperLimit; #region Meta info recovery { PneumaticDriverMeta pneumaticMeta = joint.cDriver.GetInfo <PneumaticDriverMeta>(); if (pneumaticMeta != null) { cmbPneumaticDiameter.SelectedIndex = (byte)pneumaticMeta.widthEnum; cmbPneumaticPressure.SelectedIndex = (byte)pneumaticMeta.pressureEnum; } else { cmbPneumaticDiameter.SelectedIndex = (byte)PneumaticDiameter.MEDIUM; cmbPneumaticPressure.SelectedIndex = (byte)PneumaticPressure.HIGH; } } { WheelDriverMeta wheelMeta = joint.cDriver.GetInfo <WheelDriverMeta>(); if (wheelMeta != null) { try { // TODO: This is a really sketchy hack and I don't even know where the cat is. cmbWheelType.SelectedIndex = (byte)wheelMeta.type; if (wheelMeta.forwardExtremeValue > 8) { cmbFrictionLevel.SelectedIndex = (byte)FrictionLevel.HIGH; } else if (wheelMeta.forwardExtremeValue > 4) { cmbFrictionLevel.SelectedIndex = (byte)FrictionLevel.MEDIUM; } else { cmbFrictionLevel.SelectedIndex = (byte)FrictionLevel.LOW; } } catch { // If an exception was thrown (System.ArguementOutOfRangeException) it means // the user did not choose a wheel type when they were configuring the // wheel joint cmbWheelType.SelectedIndex = (byte)WheelType.NORMAL; cmbFrictionLevel.SelectedIndex = (byte)FrictionLevel.MEDIUM; } chkBoxDriveWheel.Checked = wheelMeta.isDriveWheel; cmbWheelType_SelectedIndexChanged(null, null); } else { cmbWheelType.SelectedIndex = (byte)WheelType.NOT_A_WHEEL; cmbFrictionLevel.SelectedIndex = (byte)FrictionLevel.MEDIUM; } } { ElevatorDriverMeta elevatorMeta = joint.cDriver.GetInfo <ElevatorDriverMeta>(); if (elevatorMeta != null) { cmbStages.SelectedIndex = (byte)elevatorMeta.type; } } #endregion } else //Default values { cmbJointDriver.SelectedIndex = 0; txtPortA.Value = txtPortA.Minimum; txtPortB.Value = txtPortB.Minimum; txtLowLimit.Value = txtLowLimit.Minimum; txtHighLimit.Value = txtHighLimit.Minimum; cmbPneumaticDiameter.SelectedIndex = (byte)PneumaticDiameter.MEDIUM; cmbPneumaticPressure.SelectedIndex = (byte)PneumaticPressure.MEDIUM; cmbWheelType.SelectedIndex = (byte)WheelType.NOT_A_WHEEL; cmbFrictionLevel.SelectedIndex = (byte)FrictionLevel.MEDIUM; chkBoxDriveWheel.Checked = false; cmbStages.SelectedIndex = (byte)ElevatorType.NOT_MULTI; } PerformLayout(); this.ShowDialog(owner); }