private void SetupUIApplicableRange() { if (rangeAttr != null) { rangeAttr.GetTrackBarMinMax(IsIntegerType(), out int min, out int max); minTrackBar.Minimum = min; minTrackBar.Maximum = max; minTrackBar.LargeChange = Math.Max((minTrackBar.Maximum - minTrackBar.Minimum) / 10, 1); minTrackBar.SmallChange = Math.Max((minTrackBar.Maximum - minTrackBar.Minimum) / 100, 1); maxTrackBar.Minimum = min; maxTrackBar.Maximum = max; maxTrackBar.LargeChange = Math.Max((minTrackBar.Maximum - minTrackBar.Minimum) / 10, 1); maxTrackBar.SmallChange = Math.Max((minTrackBar.Maximum - minTrackBar.Minimum) / 100, 1); } }
public override void ControlInsidePropertyItemControlWasCreated() { base.ControlInsidePropertyItemControlWasCreated(); var control = (IHCTextBoxNumeric)CreatedControlInsidePropertyItemControl; //get range var array = Property.GetCustomAttributes(typeof(RangeAttribute), true); if (array.Length != 0) { range = (RangeAttribute)array[0]; } //configure track bar if (range != null) { var trackBar = control.TrackBar; trackBarDisableValueChangedEvent = true; range.GetTrackBarMinMax(IsInteger(), out int min, out int max); trackBar.Minimum = min; trackBar.Maximum = max; trackBar.LargeChange = Math.Max((trackBar.Maximum - trackBar.Minimum) / 10, 1); trackBar.SmallChange = Math.Max((trackBar.Maximum - trackBar.Minimum) / 100, 1); trackBarDisableValueChangedEvent = false; trackBar.GotFocus += TrackBar_GotFocus; trackBar.LostFocus += TrackBar_LostFocus; trackBar.MouseUp += TrackBar_MouseUp; trackBar.ValueChanged += TrackBar_ValueChanged; } //disable track bar //!!!!может еще каким-то условием показывать/скрывать if (range == null) { control.TrackBar.Enabled = false; control.TrackBar.Visible = false; control.TextBox.Width = ((Control)control).Width; control.TextBox.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right; } }