using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
public class UpDownDerived : System.Windows.Forms.Form
{
private System.Windows.Forms.Label label1;
private MyUpDownControl mDC = null ;
public UpDownDerived()
{
this.mDC = new MyUpDownControl();
this.label1 = new System.Windows.Forms.Label();
this.SuspendLayout();
this.mDC.Items.Add("FRANCE");
this.mDC.Items.Add("ITALY");
this.mDC.Items.Add("USA");
this.mDC.Items.Add("UK");
this.mDC.Items.Add("AUSTRALIA");
this.mDC.Items.Add("INDIA");
this.mDC.Items.Add("ZAMBIA");
this.mDC.Items.Add("MALASYIA");
this.mDC.Location = new System.Drawing.Point(40, 40);
this.label1.Location = new System.Drawing.Point(16, 16);
this.label1.Size = new System.Drawing.Size(200, 16);
this.label1.Text = "Derived DomainUpDown Controller";
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.ClientSize = new System.Drawing.Size(248, 85);
this.Controls.AddRange(new System.Windows.Forms.Control[] {
this.label1,
this.mDC});
this.Name = "UpDownDerived";
this.Text = "My Domain Controller";
this.Load += new System.EventHandler(this.UpDownDerived_Load);
this.ResumeLayout(false);
}
static void Main()
{
Application.Run(new UpDownDerived());
}
private void UpDownDerived_Load(object sender, System.EventArgs e)
{
}
}
public class MyUpDownControl : System.Windows.Forms.DomainUpDown
{
private int currentPos =0;
private string DisplayText ="";
public MyUpDownControl()
{
Items.Add("FRANCE");
Items.Add("ITALY");
Items.Add("USA");
Items.Add("UK");
Items.Add("AUSTRALIA");
Items.Add("INDIA");
Items.Add("ZAMBIA");
Items.Add("MALASYIA");
}
public override void DownButton()
{
// Check if the Down Arrow is clicked
currentPos ++;
if ( currentPos >= Items.Count )
currentPos = 0 ;
UpdateEditText();
}
public override void UpButton()
{
// Check if the Up Arrow is clicked
currentPos -- ;
if ( currentPos < 0 ) currentPos = Items.Count-1 ;
UpdateEditText();
}
protected override void UpdateEditText()
{
// Update the EditBox
DisplayText = (string)this.Items[currentPos ];
this.Text = DisplayText;
}
public void Sort()
{
if ( this.Sorted )
this.Sorted= false ;
else
this.Sorted= true ;
if ( this.Sorted )
this.Sort() ;
UpdateEditText() ;
}
}
|