123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238 |
- 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
- /// <summary>
- /// 必需的设计器变量。
- /// </summary>
- private System.ComponentModel.IContainer components = null;
- /// <summary>
- /// 清理所有正在使用的资源。
- /// </summary>
- /// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>
- protected override void Dispose(bool disposing)
- {
- if (disposing && (components != null))
- {
- components.Dispose();
- }
- base.Dispose(disposing);
- }
- #region 组件设计器生成的代码
- /// <summary>
- /// 设计器支持所需的方法 - 不要修改
- /// 使用代码编辑器修改此方法的内容。
- /// </summary>
- 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();
- }
- /// <summary>
- /// 设置trackBar的滚动事件
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- 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
- /// <summary>
- /// 减操作
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- 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);
- }
- /// <summary>
- /// 加操作
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- 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);
- }
- }
- }
|