Download Cyotek.ArcadeExplosionMaker.zip version 1.0.0.1, last updated 05/06/2012 (123.69 KB)

Download
  • md5: bd412009442f7923a555ba5b0f508fe0
using System;
using System.ComponentModel;
using System.Drawing;
using System.Windows.Forms;
using System.Windows.Forms.Design;

namespace Cyotek.Windows.Forms.ToolStripControllerHosts
{
  [DefaultProperty("Value"), DefaultEvent("ValueChanged")]
  [ToolStripItemDesignerAvailability(ToolStripItemDesignerAvailability.ToolStrip | ToolStripItemDesignerAvailability.StatusStrip)]
  public partial class ToolStripTrackBar : ToolStripControlHost
  {
    #region��Public�Constructors

    public ToolStripTrackBar()
      : base(ToolStripTrackBar.CreateControlInstance())
    {
      this.Maximum = 10;
      this.Minimum = 0;
      this.TickFrequency = 1;
      this.Value = 0;
      this.LargeChange = 5;
      this.SmallChange = 1;
      this.TickStyle = TickStyle.BottomRight;
      this.AutoToolTip = true;
    }

    #endregion��Public�Constructors

    #region��Events

    public event EventHandler ValueChanged;

    #endregion��Events

    #region��Private�Class�Methods

    private static Control CreateControlInstance()
    {
      TrackBar child;

      child = new TrackBar();
      child.AutoSize = false;
      child.Height = 16;

      return child;
    }

    #endregion��Private�Class�Methods

    #region��Overriden�Properties

    protected override Size DefaultSize
    { get { return new Size(200, 16); } }

    [Browsable(false)]
    public override string Text
    {
      get { return base.Text; }
      set { base.Text = value; }
    }

    #endregion��Overriden�Properties

    #region��Protected�Overridden�Methods

    protected override void OnBoundsChanged()
    {
      base.OnBoundsChanged();

      this.TrackBar.Size = this.Bounds.Size;
    }

    protected override void OnSubscribeControlEvents(Control control)
    {
      TrackBar child;

      child = control as TrackBar;
      child.ValueChanged += this.TrackbarValueChangedHandler;

      base.OnSubscribeControlEvents(control);
    }

    protected override void OnUnsubscribeControlEvents(Control control)
    {
      TrackBar child;

      child = control as TrackBar;
      child.ValueChanged -= this.TrackbarValueChangedHandler;

      base.OnUnsubscribeControlEvents(control);
    }

    #endregion��Protected�Overridden�Methods

    #region��Public�Properties

    [DefaultValue(true)]
    public new bool AutoToolTip
    {
      get { return base.AutoToolTip; }
      set { base.AutoToolTip = value; }
    }

    [DefaultValue(5), Category("Behavior")]
    public int LargeChange
    {
      get { return this.TrackBar.LargeChange; }
      set { this.TrackBar.LargeChange = value; }
    }

    [DefaultValue(10), Category("Behavior")]
    public int Maximum
    {
      get { return this.TrackBar.Maximum; }
      set { this.TrackBar.Maximum = value; }
    }

    [DefaultValue(0), Category("Behavior")]
    public int Minimum
    {
      get { return this.TrackBar.Minimum; }
      set { this.TrackBar.Minimum = value; }
    }

    [DefaultValue(1), Category("Behavior")]
    public int SmallChange
    {
      get { return this.TrackBar.SmallChange; }
      set { this.TrackBar.SmallChange = value; }
    }

    [DefaultValue(1), Category("Appearance")]
    public int TickFrequency
    {
      get { return this.TrackBar.TickFrequency; }
      set { this.TrackBar.TickFrequency = value; }
    }

    [DefaultValue(typeof(TickStyle), "BottomRight"), Category("Appearance")]
    public TickStyle TickStyle
    {
      get { return this.TrackBar.TickStyle; }
      set { this.TrackBar.TickStyle = value; }
    }

    [Browsable(false)]
    public TrackBar TrackBar
    { get { return Control as TrackBar; } }

    [DefaultValue(0), Category("Behavior")]
    public int Value
    {
      get { return this.TrackBar.Value; }
      set { this.TrackBar.Value = value; }
    }

    #endregion��Public�Properties

    #region��Private�Methods

    private void TrackbarValueChangedHandler(object sender, EventArgs e)
    {
      this.OnValueChanged(EventArgs.Empty);
    }

    #endregion��Private�Methods

    #region��Protected�Methods

    protected virtual void OnValueChanged(EventArgs e)
    {
      EventHandler handler;

      this.Text = this.Value.ToString();

      handler = this.ValueChanged;

      if (handler != null)
        handler(this, e);
    }

    #endregion��Protected�Methods
  }
}

Donate

Donate