Csharp/C Sharp/GUI Windows Form/UpDown

Материал из .Net Framework эксперт
Перейти к: навигация, поиск

Convert value from Numeric Dropdown to Int

<source lang="csharp"> using System; using System.Collections.Generic; using System.ruponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; public class Form1 : Form {

  private System.Windows.Forms.NumericUpDown yearUpDown;
  private System.Windows.Forms.Button calculateButton;
  public Form1() {
     InitializeComponent();
  }
  private void calculateButton_Click( object sender, EventArgs e )
  {
     Console.WriteLine(Convert.ToInt32( yearUpDown.Value ));
  } 
  private void InitializeComponent()
  {
     this.yearUpDown = new System.Windows.Forms.NumericUpDown();
     this.calculateButton = new System.Windows.Forms.Button();
     ((System.ruponentModel.ISupportInitialize)(this.yearUpDown)).BeginInit();
     this.SuspendLayout();
     this.yearUpDown.Location = new System.Drawing.Point(84, 97);
     this.yearUpDown.Maximum = new decimal(new int[] {
           10,
           0,
           0,
           0});
     this.yearUpDown.Minimum = new decimal(new int[] {
           1,
           0,
           0,
           0});
     this.yearUpDown.Name = "yearUpDown";
     this.yearUpDown.ReadOnly = true;
     this.yearUpDown.Size = new System.Drawing.Size(100, 20);
     this.yearUpDown.TabIndex = 5;
     this.yearUpDown.TextAlign = System.Windows.Forms.HorizontalAlignment.Right;
     this.yearUpDown.Value = new decimal(new int[] {
           1,
           0,
           0,
           0});
     this.calculateButton.Location = new System.Drawing.Point(196, 16);
     this.calculateButton.Name = "calculateButton";
     this.calculateButton.Size = new System.Drawing.Size(75, 23);
     this.calculateButton.TabIndex = 8;
     this.calculateButton.Text = "Calculate";
     this.calculateButton.Click += new System.EventHandler(this.calculateButton_Click);
     // 
     // interestCalculatorForm
     // 
     this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
     this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
     this.ClientSize = new System.Drawing.Size(289, 288);
     this.Controls.Add(this.calculateButton);
     this.Controls.Add(this.yearUpDown);
     this.Name = "interestCalculatorForm";
     this.Text = "Interest Calculator";
     ((System.ruponentModel.ISupportInitialize)(this.yearUpDown)).EndInit();
     this.ResumeLayout(false);
     this.PerformLayout();
  }
 [STAThread]
 static void Main()
 {
   Application.EnableVisualStyles();
   Application.Run(new Form1());
 }

}


      </source>


Numeric value based Up Down (Spinner)

<source lang="csharp">

   using System;
 using System.Drawing;
 using System.Collections;
 using System.ruponentModel;
 using System.Windows.Forms;
 using System.Data;
 public class UpDownForm : System.Windows.Forms.Form
 {
   private System.Windows.Forms.Label lblCurrSel;
   private System.Windows.Forms.Button btnGetSelections;
   private System.Windows.Forms.Label label1;
   private System.Windows.Forms.NumericUpDown numericUpDown;
   public UpDownForm()
   {
     InitializeComponent();
   }
   private void InitializeComponent()
   {
     this.label1 = new System.Windows.Forms.Label ();
     this.numericUpDown = new System.Windows.Forms.NumericUpDown ();
     this.btnGetSelections = new System.Windows.Forms.Button ();
     this.lblCurrSel = new System.Windows.Forms.Label ();
     numericUpDown.BeginInit ();
     label1.Location = new System.Drawing.Point (8, 80);
     label1.Text = "Numeric UpDown Control";
     label1.Size = new System.Drawing.Size (232, 32);
     label1.Font = new System.Drawing.Font ("Verdana", 12);
     label1.TabIndex = 3;
     numericUpDown.Location = new System.Drawing.Point (264, 80);
     numericUpDown.Maximum = new decimal (5000);
     numericUpDown.Size = new System.Drawing.Size (168, 20);
     numericUpDown.ThousandsSeparator = true;
     numericUpDown.TabIndex = 1;
     numericUpDown.UpDownAlign = System.Windows.Forms.LeftRightAlignment.Left;
     numericUpDown.ValueChanged += new System.EventHandler (this.numericUpDown_ValueChanged);
     btnGetSelections.Location = new System.Drawing.Point (16, 136);
     btnGetSelections.Size = new System.Drawing.Size (136, 24);
     btnGetSelections.TabIndex = 4;
     btnGetSelections.Text = "Get Current Selections";
     btnGetSelections.Click += new System.EventHandler (this.btnGetSelections_Click);
     lblCurrSel.Location = new System.Drawing.Point (176, 120);
     lblCurrSel.Size = new System.Drawing.Size (256, 48);
     this.Text = "Spin Controls";
     this.AutoScaleBaseSize = new System.Drawing.Size (5, 13);
     this.ClientSize = new System.Drawing.Size (448, 181);
     this.Controls.Add (this.lblCurrSel);
     this.Controls.Add (this.btnGetSelections);
     this.Controls.Add (this.label1);
     this.Controls.Add (this.numericUpDown);
     numericUpDown.EndInit ();
   }
   static void Main() 
   {
     Application.Run(new UpDownForm());
   }
   protected void numericUpDown_ValueChanged (object sender, System.EventArgs e)
   {
     this.Text = "You changed the numeric value...";
   }
   protected void btnGetSelections_Click (object sender, System.EventArgs e)
   {
     lblCurrSel.Text =  "Number: " 
       + numericUpDown.Value;
   }
 }
          
      </source>


String based DomainUpDown (Spinner)

<source lang="csharp">

 using System;
 using System.Drawing;
 using System.Collections;
 using System.ruponentModel;
 using System.Windows.Forms;
 using System.Data;
 public class UpDownForm : System.Windows.Forms.Form
 {
   private System.Windows.Forms.Label lblCurrSel;
   private System.Windows.Forms.Button btnGetSelections;
   private System.Windows.Forms.Label label1;
   private System.Windows.Forms.DomainUpDown domainUpDown;
   public UpDownForm()
   {
     InitializeComponent();
   }
   private void InitializeComponent()
   {
     this.label1 = new System.Windows.Forms.Label ();
     this.domainUpDown = new System.Windows.Forms.DomainUpDown ();
     this.btnGetSelections = new System.Windows.Forms.Button ();
     this.lblCurrSel = new System.Windows.Forms.Label ();
     label1.Location = new System.Drawing.Point (8, 24);
     label1.Text = "Domain UpDown Control";
     label1.Size = new System.Drawing.Size (224, 32);
     label1.Font = new System.Drawing.Font ("Verdana", 12);
     label1.TabIndex = 2;
     domainUpDown.Location = new System.Drawing.Point (264, 24);
     domainUpDown.Text = "domainUpDown1";
     domainUpDown.Size = new System.Drawing.Size (168, 20);
     domainUpDown.TabIndex = 0;
     domainUpDown.Sorted = true;
     domainUpDown.Wrap = true;
     domainUpDown.SelectedItemChanged += new System.EventHandler (this.domainUpDown_SelectedItemChanged);
     domainUpDown.Items.AddRange(new object[4] {"B", "A", "C", "(D)"});
     btnGetSelections.Location = new System.Drawing.Point (16, 136);
     btnGetSelections.Size = new System.Drawing.Size (136, 24);
     btnGetSelections.TabIndex = 4;
     btnGetSelections.Text = "Get Current Selections";
     btnGetSelections.Click += new System.EventHandler (this.btnGetSelections_Click);
     lblCurrSel.Location = new System.Drawing.Point (176, 120);
     lblCurrSel.Size = new System.Drawing.Size (256, 48);
     this.Text = "Spin Controls";
     this.AutoScaleBaseSize = new System.Drawing.Size (5, 13);
     this.ClientSize = new System.Drawing.Size (448, 181);
     this.Controls.Add (this.lblCurrSel);
     this.Controls.Add (this.btnGetSelections);
     this.Controls.Add (this.label1);
     this.Controls.Add (this.domainUpDown);
   }
   static void Main() 
   {
     Application.Run(new UpDownForm());
   }
   protected void domainUpDown_SelectedItemChanged (object sender, System.EventArgs e)
   {
     this.Text = "You changed the string value...";
   }
   protected void btnGetSelections_Click (object sender, System.EventArgs e)
   {
     // Get info from updowns...
     lblCurrSel.Text = "String: " 
       + domainUpDown.Text ;
   }
 }
          
      </source>


UpDown Control

<source lang="csharp"> /* Professional Windows GUI Programming Using C# by Jay Glynn, Csaba Torok, Richard Conway, Wahid Choudhury,

  Zach Greenvoss, Shripad Kulkarni, Neil Whitlow

Publisher: Peer Information ISBN: 1861007663

  • /

using System; using System.Drawing; using System.Collections; using System.ruponentModel; using System.Windows.Forms; using System.Data; namespace UpDown {

   /// <summary>
   /// Summary description for UpDown.
   /// </summary>
   public class UpDown : System.Windows.Forms.Form
   {
     private System.Windows.Forms.Button button2;
     private System.Windows.Forms.TextBox textBox1;
     private System.Windows.Forms.Button button1;
     private System.Windows.Forms.DomainUpDown UPDOWN_DOMAIN;
     private System.Windows.Forms.Label label1;
       /// <summary>
       /// Required designer variable.
       /// </summary>
       private System.ruponentModel.Container components = null;
       public UpDown()
       {
           //
           // Required for Windows Form Designer support
           //
           InitializeComponent();
           //
           // TODO: Add any constructor code after InitializeComponent call
           //
       }
       /// <summary>
       /// Clean up any resources being used.
       /// </summary>
       protected override void Dispose( bool disposing )
       {
           if( disposing )
           {
               if (components != null) 
               {
                   components.Dispose();
               }
           }
           base.Dispose( disposing );
       }
       #region Windows Form Designer generated code
       /// <summary>
       /// Required method for Designer support - do not modify
       /// the contents of this method with the code editor.
       /// </summary>
       private void InitializeComponent()
       {
        this.button2 = new System.Windows.Forms.Button();
        this.textBox1 = new System.Windows.Forms.TextBox();
        this.button1 = new System.Windows.Forms.Button();
        this.UPDOWN_DOMAIN = new System.Windows.Forms.DomainUpDown();
        this.label1 = new System.Windows.Forms.Label();
        this.SuspendLayout();
        // 
        // button2
        // 
        this.button2.Location = new System.Drawing.Point(136, 80);
        this.button2.Name = "button2";
        this.button2.TabIndex = 8;
        this.button2.Text = "Add Item";
        // 
        // textBox1
        // 
        this.textBox1.Location = new System.Drawing.Point(24, 80);
        this.textBox1.Name = "textBox1";
        this.textBox1.TabIndex = 7;
        this.textBox1.Text = "";
        // 
        // button1
        // 
        this.button1.Location = new System.Drawing.Point(264, 40);
        this.button1.Name = "button1";
        this.button1.Size = new System.Drawing.Size(64, 23);
        this.button1.TabIndex = 6;
        this.button1.Text = "Remove";
        // 
        // UPDOWN_DOMAIN
        // 
        this.UPDOWN_DOMAIN.BackColor = System.Drawing.Color.FromArgb(((System.Byte)(255)), ((System.Byte)(192)), ((System.Byte)(192)));
        this.UPDOWN_DOMAIN.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
        this.UPDOWN_DOMAIN.ForeColor = System.Drawing.SystemColors.HotTrack;
        this.UPDOWN_DOMAIN.Location = new System.Drawing.Point(24, 40);
        this.UPDOWN_DOMAIN.Name = "UPDOWN_DOMAIN";
        this.UPDOWN_DOMAIN.Size = new System.Drawing.Size(232, 26);
        this.UPDOWN_DOMAIN.Sorted = true;
        this.UPDOWN_DOMAIN.TabIndex = 5;
        this.UPDOWN_DOMAIN.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
        this.UPDOWN_DOMAIN.UpDownAlign = System.Windows.Forms.LeftRightAlignment.Left;
        this.UPDOWN_DOMAIN.Wrap = true;
        // 
        // label1
        // 
        this.label1.Location = new System.Drawing.Point(24, 16);
        this.label1.Name = "label1";
        this.label1.Size = new System.Drawing.Size(136, 23);
        this.label1.TabIndex = 9;
        this.label1.Text = "UpDownDomain Control";
        // 
        // UpDown
        // 
        this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
        this.ClientSize = new System.Drawing.Size(344, 117);
        this.Controls.AddRange(new System.Windows.Forms.Control[] {
                                                                     this.label1,
                                                                     this.UPDOWN_DOMAIN,
                                                                     this.button1,
                                                                     this.button2,
                                                                     this.textBox1});
        this.Name = "UpDown";
        this.Text = "UpDownDomain Control";
        this.Load += new System.EventHandler(this.UpDown_Load);
        this.ResumeLayout(false);
     }
       #endregion
       /// <summary>
       /// The main entry point for the application.
       /// </summary>
       [STAThread]
       static void Main() 
       {
           Application.Run(new UpDown());
       }
       private void UpDown_Load(object sender, System.EventArgs e)
       {
           // Populate the UpDown Domain control with string objects
           UPDOWN_DOMAIN.Items.Add("Visual C#");
           UPDOWN_DOMAIN.Items.Add("Visual C++");
           UPDOWN_DOMAIN.Items.Add("Visual VB");
           UPDOWN_DOMAIN.Items.Add("Managed C++");
           UPDOWN_DOMAIN.Items.Add("Crystal Reports");
           UPDOWN_DOMAIN.Items.Add("MFC");
           UPDOWN_DOMAIN.Items.Add("ATL");
           UPDOWN_DOMAIN.Items.Add("COM");
           UPDOWN_DOMAIN.Items.Add("DCOM");
           UPDOWN_DOMAIN.Items.Add("COM+");
           UPDOWN_DOMAIN.Items.Add("SETUP");
           UPDOWN_DOMAIN.Items.Add("COMMAND LINE");
           UPDOWN_DOMAIN.Items.Add("WINDOWS SERVICE");
           UPDOWN_DOMAIN.Items.Add("WINDOWS LIBRARY");
           UPDOWN_DOMAIN.Items.Add("ASP .NET WEB");
           UPDOWN_DOMAIN.Items.Add("DATABASE APPLICATION");
       }
       private void button1_Click(object sender, System.EventArgs e)
       {
           // Select the Item that want to remove
           int nItemSel = UPDOWN_DOMAIN.SelectedIndex;
           if ( nItemSel >= 0 ) 
           {
               // Remove the item at the location
               UPDOWN_DOMAIN.Items.RemoveAt(nItemSel);
               // Update the control
               UPDOWN_DOMAIN.Update();
               // Clear the edit box
               UPDOWN_DOMAIN.Text = "" ; 
           }
       }
       private void button2_Click(object sender, System.EventArgs e)
       {
           if ( textBox1.Text == "" ) 
           {
               MessageBox.Show("Enter a string to add");
               return ;
           }
           // Add the new string the UpDownDomain control
           UPDOWN_DOMAIN.Items.Add(textBox1.Text);
           textBox1.Text = "" ; 
       }
   }

}


      </source>


UpDown Derived

<source lang="csharp"> /* Professional Windows GUI Programming Using C# by Jay Glynn, Csaba Torok, Richard Conway, Wahid Choudhury,

  Zach Greenvoss, Shripad Kulkarni, Neil Whitlow

Publisher: Peer Information ISBN: 1861007663

  • /

using System; using System.Drawing; using System.Collections; using System.ruponentModel; using System.Windows.Forms; using System.Data; namespace UpDown_Derived {

   /// <summary>
   /// Summary description for UpDownDerived.
   /// </summary>
   public class UpDownDerived : System.Windows.Forms.Form
   {
       /// <summary>
       /// Required designer variable.
       /// </summary>
       private System.ruponentModel.Container components = null;
       private System.Windows.Forms.Label label1;
       private MyUpDownControl mDC = null ; 
       public UpDownDerived()
       {
           //
           // Required for Windows Form Designer support
           //
           InitializeComponent();
           //
           // TODO: Add any constructor code after InitializeComponent call
           //
       }
       /// <summary>
       /// Clean up any resources being used.
       /// </summary>
       protected override void Dispose( bool disposing )
       {
           if( disposing )
           {
               if (components != null) 
               {
                   components.Dispose();
               }
           }
           base.Dispose( disposing );
       }
       #region Windows Form Designer generated code
       /// <summary>
       /// Required method for Designer support - do not modify
       /// the contents of this method with the code editor.
       /// </summary>
       private void InitializeComponent()
       {
           this.mDC = new UpDown_Derived.MyUpDownControl();
           this.label1 = new System.Windows.Forms.Label();
           this.SuspendLayout();
           // 
           // mDC
           // 
           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.mDC.Name = "mDC";
           this.mDC.TabIndex = 0;
           // 
           // label1
           // 
           this.label1.Location = new System.Drawing.Point(16, 16);
           this.label1.Name = "label1";
           this.label1.Size = new System.Drawing.Size(200, 16);
           this.label1.TabIndex = 1;
           this.label1.Text = "Derived DomainUpDown Controller";
           // 
           // UpDownDerived
           // 
           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);
       }
       #endregion
       /// <summary>
       /// The main entry point for the application.
       /// </summary>
       [STAThread]
       static void Main() 
       {
           Application.Run(new UpDownDerived());
       }
       private void UpDownDerived_Load(object sender, System.EventArgs e)
       {
       }
   }
   /// <summary>
   /// Summary description for MyUpDownControl.
   /// </summary>
   public class MyUpDownControl : System.Windows.Forms.DomainUpDown  
   {
       private int currentPos  =0;
       private string DisplayText ="";
       public MyUpDownControl()
       {
           // Populate the control with items
           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() ;
       }
   }

}

      </source>