using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Data; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace PaintDotNet.CustomControl { public partial class TriangleTrackBar : UserControl { private TriangleButton triangleButtonSubtract; private TriangleButton triangleButtonPlus; public TrackBar trackBar1; #region 设置trackBar的属性和事件 //// //// 摘要: //// 在通过鼠标或键盘操作移动滚动框时发生。 //[SRCategoryAttribute("CatBehavior")] //[SRDescriptionAttribute("TrackBarOnScrollDescr")] public event EventHandler TrackBarScroll; public event EventHandler TrackBarMouseUp; #endregion /// /// 必需的设计器变量。 /// private System.ComponentModel.IContainer components = null; /// /// 清理所有正在使用的资源。 /// /// 如果应释放托管资源,为 true;否则为 false。 protected override void Dispose(bool disposing) { if (disposing && (components != null)) { components.Dispose(); } base.Dispose(disposing); } #region 组件设计器生成的代码 /// /// 设计器支持所需的方法 - 不要修改 /// 使用代码编辑器修改此方法的内容。 /// private void InitializeComponent() { this.trackBar1 = new System.Windows.Forms.TrackBar(); this.triangleButtonSubtract = new PaintDotNet.CustomControl.TriangleButton(); this.triangleButtonPlus = new PaintDotNet.CustomControl.TriangleButton(); ((System.ComponentModel.ISupportInitialize)(this.trackBar1)).BeginInit(); this.SuspendLayout(); // // trackBar1 // this.trackBar1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.trackBar1.AutoSize = false; this.trackBar1.Location = new System.Drawing.Point(10, 4); this.trackBar1.Margin = new System.Windows.Forms.Padding(2); this.trackBar1.Name = "trackBar1"; this.trackBar1.Size = new System.Drawing.Size(180, 23); this.trackBar1.TabIndex = 25; this.trackBar1.TickStyle = System.Windows.Forms.TickStyle.None; this.trackBar1.Scroll += new System.EventHandler(this.trackBar1_Scroll); this.trackBar1.MouseUp += new MouseEventHandler(this.trackBar1_MouseUp); // // triangleButtonSubtract // this.triangleButtonSubtract.AlignmentStyle = System.Windows.Forms.AnchorStyles.Right; this.triangleButtonSubtract.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) | System.Windows.Forms.AnchorStyles.Left))); this.triangleButtonSubtract.BackColor = System.Drawing.Color.Transparent; this.triangleButtonSubtract.Location = new System.Drawing.Point(4, 8); this.triangleButtonSubtract.Name = "triangleButtonSubtract"; this.triangleButtonSubtract.Size = new System.Drawing.Size(10, 12); this.triangleButtonSubtract.TabIndex = 27; this.triangleButtonSubtract.Click += new System.EventHandler(this.buttonSubtract_Click); // // triangleButtonPlus // this.triangleButtonPlus.AlignmentStyle = System.Windows.Forms.AnchorStyles.Left; this.triangleButtonPlus.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) | System.Windows.Forms.AnchorStyles.Right))); this.triangleButtonPlus.BackColor = System.Drawing.Color.Transparent; this.triangleButtonPlus.Location = new System.Drawing.Point(186, 8); this.triangleButtonPlus.Name = "triangleButtonPlus"; this.triangleButtonPlus.Size = new System.Drawing.Size(10, 12); this.triangleButtonPlus.TabIndex = 26; this.triangleButtonPlus.Click += new System.EventHandler(this.buttonPlus_Click); // // TriangleTrackBar // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.Controls.Add(this.triangleButtonSubtract); this.Controls.Add(this.triangleButtonPlus); this.Controls.Add(this.trackBar1); this.Name = "TriangleTrackBar"; this.Size = new System.Drawing.Size(200, 30); ((System.ComponentModel.ISupportInitialize)(this.trackBar1)).EndInit(); this.ResumeLayout(false); } #endregion public TriangleTrackBar() { InitializeComponent(); } /// /// 设置trackBar的滚动事件 /// /// /// private void trackBar1_Scroll(object sender, EventArgs e) { this.TrackBarScroll?.Invoke(sender, e); } private void trackBar1_MouseUp(object sender, EventArgs e) { this.TrackBarMouseUp?.Invoke(sender, e); } #region 设置trackBar的属性 [Browsable(true)] public int Value { get { return trackBar1.Value; } set { trackBar1.Value = value; } } //[Browsable(true)] //public TickStyle TickStyle { get // { // return trackBar1.TickStyle; // } // set // { // trackBar1.TickStyle = value; // } //} [Browsable(true)] public int Minimum { get { return this.trackBar1.Minimum; } set { this.trackBar1.Minimum = value; } } [Browsable(true)] public int Maximum { get { return this.trackBar1.Maximum; } set { this.trackBar1.Maximum = value; } } public string TrackBarName { get { return this.trackBar1.Name; } set { this.trackBar1.Name = value; } } //[Browsable(true)] //public bool TrackBarAutoSize //{ // get // { // return this.trackBar1.AutoSize; // } // set // { // this.trackBar1.AutoSize = value; // } //} #endregion /// /// 减操作 /// /// /// private void buttonSubtract_Click(object sender, EventArgs e) { this.trackBar1.Value = Math.Max(this.trackBar1.Value - 1, this.trackBar1.Minimum); this.TrackBarScroll?.Invoke(this.trackBar1, e); this.TrackBarMouseUp?.Invoke(sender, e); } /// /// 加操作 /// /// /// private void buttonPlus_Click(object sender, EventArgs e) { this.trackBar1.Value = Math.Min(this.trackBar1.Value + 1, this.trackBar1.Maximum); this.TrackBarScroll?.Invoke(this.trackBar1, e); this.TrackBarMouseUp?.Invoke(sender, e); } } }