Csharp/C Sharp by API/System.Windows.Forms/UserControl
extends UserControl
<source lang="csharp">
using System; using System.Drawing; using System.Collections; using System.ruponentModel; using System.Windows.Forms; using System.Data; public class UserControlForm : System.Windows.Forms.Form { private UserControlExample userControlExample1; private System.ruponentModel.Container components = null; public UserControlForm() { InitializeComponent(); } protected override void Dispose( bool disposing ) { if( disposing ) { if (components != null) { components.Dispose(); } } base.Dispose( disposing ); } private void InitializeComponent() { this.userControlExample1 = new UserControlExample(); this.SuspendLayout(); this.userControlExample1.Current = 5; this.userControlExample1.Location = new System.Drawing.Point(98, 113); this.userControlExample1.Max = 10; this.userControlExample1.Min = 0; this.userControlExample1.Name = "userControlExample1"; this.userControlExample1.Size = new System.Drawing.Size(96, 40); this.userControlExample1.TabIndex = 0; // // UserControlForm // this.AutoScaleBaseSize = new System.Drawing.Size(5, 13); this.ClientSize = new System.Drawing.Size(292, 266); this.Controls.AddRange(new System.Windows.Forms.Control[] { this.userControlExample1}); this.Name = "UserControlForm"; this.Text = "UserControlForm"; this.ResumeLayout(false); } static void Main() { Application.Run(new UserControlForm()); } } public class UserControlExample : System.Windows.Forms.UserControl { private System.Windows.Forms.TextBox textBox1; private System.Windows.Forms.VScrollBar vScrollBar1; private System.ruponentModel.Container components = null; public UserControlExample() { InitializeComponent(); } protected override void Dispose( bool disposing ) { if( disposing ) { if( components != null ) components.Dispose(); } base.Dispose( disposing ); } private void InitializeComponent() { this.textBox1 = new System.Windows.Forms.TextBox(); this.vScrollBar1 = new System.Windows.Forms.VScrollBar(); this.SuspendLayout(); this.textBox1.Location = new System.Drawing.Point(8, 8); this.textBox1.Name = "textBox1"; this.textBox1.ReadOnly = true; this.textBox1.Size = new System.Drawing.Size(48, 20); this.textBox1.TabIndex = 0; this.textBox1.Text = ""; this.textBox1.TextAlign = System.Windows.Forms.HorizontalAlignment.Right; this.vScrollBar1.Location = new System.Drawing.Point(64, 8); this.vScrollBar1.Name = "vScrollBar1"; this.vScrollBar1.Size = new System.Drawing.Size(17, 24); this.vScrollBar1.TabIndex = 1; this.vScrollBar1.Scroll += new System.Windows.Forms.ScrollEventHandler(this.vScrollBar1_Scroll); this.Controls.AddRange(new System.Windows.Forms.Control[] { this.vScrollBar1, this.textBox1}); this.Name = "UserControlExample"; this.Size = new System.Drawing.Size(96, 40); this.ResumeLayout(false); } private int m_min = int.MinValue; private int m_max = int.MaxValue; private int m_current = 0; private void vScrollBar1_Scroll(object sender, System.Windows.Forms.ScrollEventArgs e) { if ( e.Type == ScrollEventType.SmallIncrement ) { try { Current -= 1; } catch { } } else { if ( e.Type == ScrollEventType.SmallDecrement ) { try { Current += 1; } catch { } } } vScrollBar1.Value = 50; } public int Min { get { return m_min; } set { m_min = value; } } public int Max { get { return m_max; } set { m_max = value; } } public int Current { get { return m_current; } set { if ( ( value > m_max ) || ( value < m_min ) ) { throw new ArgumentOutOfRangeException( "Current" ); } m_current = value; textBox1.Text = m_current.ToString(); } } } </source>