123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- using System.ComponentModel;
- namespace System.Windows.Forms
- {
- public class TrackBar : Control, ISupportInitialize
- {
- private System.Windows.Controls.Slider slider;
- protected new System.Windows.Controls.ContentControl control { get; }
- public int Maximum
- {
- get => (int)slider.Maximum;
- set => slider.Maximum = value;
- }
- public int Minimum
- {
- get => (int)slider.Minimum;
- set => slider.Minimum = value;
- }
- public int Value
- {
- get => (int)slider.Value;
- set => slider.Value = value;
- }
- public int TickFrequency
- {
- get => (int)slider.TickFrequency;
- set => slider.TickFrequency = value;
- }
- public TickStyle TickStyle
- {
- get => (TickStyle)slider.TickPlacement;
- set => slider.TickPlacement = (Windows.Controls.Primitives.TickPlacement)value;
- }
- public Orientation Orientation
- {
- get => (Orientation)slider.Orientation;
- set => slider.Orientation = (Windows.Controls.Orientation)value;
- }
- public event EventHandler ValueChanged;
- protected virtual void OnValueChanged(EventArgs e) => ValueChanged?.Invoke(this, e);
- public void BeginInit() { }
- public void EndInit() { }
- public TrackBar()
- {
- slider = new();
- slider.HorizontalAlignment = Windows.HorizontalAlignment.Stretch;
- slider.VerticalAlignment = VerticalAlignment.Stretch;
- control = new();
- control.Content = slider;
- slider.Margin = new Thickness(8, 0, 8, 0);
- SetControl(control);
- TickStyle = TickStyle.BottomRight;
- slider.ValueChanged += (sender, e) => OnValueChanged(e);
- slider.PreviewMouseLeftButtonUp += (sender, e) => OnMouseUp(Helper.GetMouseEventArgs(slider, e));
- }
- }
- }
|