Background processing in a thread.

using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.Threading;

public class Form1 : System.Windows.Forms.Form {
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.Label ValueLabel;
private System.Windows.Forms.Button button2;
private System.ComponentModel.Container components = null;
private Thread fThread;
private int fValue;

public Form1() {

fValue = 0;
this.label1 = new System.Windows.Forms.Label();
this.button1 = new System.Windows.Forms.Button();
this.ValueLabel = new System.Windows.Forms.Label();
this.button2 = new System.Windows.Forms.Button();
this.SuspendLayout();
this.label1.Location = new System.Drawing.Point(24, 32);
this.label1.Size = new System.Drawing.Size(80, 16);
this.label1.Text = “Value of Data:”;
this.button1.Location = new System.Drawing.Point(232, 32);
this.button1.Text = “&Update”;
this.button1.Click += new
System.EventHandler(this.button1_Click);
this.ValueLabel.Location = new System.Drawing.Point(120, 32);
this.button2.Location = new System.Drawing.Point(104, 88);
this.button2.Name = “button2”;
this.button2.RightToLeft =
System.Windows.Forms.RightToLeft.No;
this.button2.Size = new System.Drawing.Size(96, 23);
this.button2.Text = “Start Thread”;
this.button2.Click += new
System.EventHandler(this.button2_Click);
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.ClientSize = new System.Drawing.Size(336, 141);
this.Controls.AddRange(new System.Windows.Forms.Control[] {
this.button2,
this.ValueLabel,
this.button1,
this.label1});
this.ResumeLayout(false);

}

[STAThread]
static void Main() {
Application.Run(new Form1());
}
private void ThreadProc() {
while (fValue < 1000) { Thread.Sleep(1000); fValue++; } } private void button2_Click(object sender, System.EventArgs e) { fThread = new Thread(new ThreadStart(ThreadProc)); fThread.IsBackground = true; fThread.Start(); } private void button1_Click(object sender, System.EventArgs e) { this.ValueLabel.Text = fValue.ToString(); } } [/csharp]

Starting and stopping a thread.

using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.Threading;

public class Form1 : System.Windows.Forms.Form {
private System.Windows.Forms.Button button1;
private System.Windows.Forms.Button button2;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Label NumThreads;
private System.Windows.Forms.Label Counter;
private int fCounter;
private ArrayList fThreadList;

private System.ComponentModel.Container components = null;

public Form1() {
InitializeComponent();
fThreadList = new ArrayList();
}

protected override void Dispose(bool disposing) {
if (disposing) {
if (components != null) {
components.Dispose();

for (int i = 0; i < fThreadList.Count; ++i) { Thread fThread = (Thread)fThreadList[i]; fThread.Abort(); } } } base.Dispose(disposing); } private void InitializeComponent() { this.button1 = new System.Windows.Forms.Button(); this.button2 = new System.Windows.Forms.Button(); this.label1 = new System.Windows.Forms.Label(); this.label2 = new System.Windows.Forms.Label(); this.NumThreads = new System.Windows.Forms.Label(); this.Counter = new System.Windows.Forms.Label(); this.SuspendLayout(); this.button1.Location = new System.Drawing.Point(32, 104); this.button1.Name = "button1"; this.button1.TabIndex = 0; this.button1.Text = "&Start"; this.button1.Click += new System.EventHandler(this.button1_Click); this.button2.Location = new System.Drawing.Point(136, 104); this.button2.Name = "button2"; this.button2.Size = new System.Drawing.Size(88, 24); this.button2.TabIndex = 1; this.button2.Text = "&Stop"; this.button2.Click += new System.EventHandler(this.button2_Click); this.label1.Location = new System.Drawing.Point(32, 40); this.label1.Name = "label1"; this.label1.Size = new System.Drawing.Size(152, 16); this.label1.TabIndex = 2; this.label1.Text = "Number of Threads Running:"; this.label2.Location = new System.Drawing.Point(32, 64); this.label2.Name = "label2"; this.label2.Size = new System.Drawing.Size(100, 16); this.label2.TabIndex = 3; this.label2.Text = "Counter:"; this.NumThreads.Location = new System.Drawing.Point(192, 40); this.NumThreads.Name = "NumThreads"; this.NumThreads.Size = new System.Drawing.Size(64, 16); this.NumThreads.TabIndex = 4; this.Counter.Location = new System.Drawing.Point(192, 64); this.Counter.Name = "Counter"; this.Counter.Size = new System.Drawing.Size(64, 16); this.Counter.TabIndex = 5; this.AutoScaleBaseSize = new System.Drawing.Size(5, 13); this.ClientSize = new System.Drawing.Size(272, 165); this.Controls.AddRange(new System.Windows.Forms.Control[] { this.Counter, this.NumThreads, this.label2, this.label1, this.button2, this.button1}); this.ResumeLayout(false); } [STAThread] static void Main() { Application.Run(new Form1()); } protected void ThreadFunc() { Boolean done = false; while (!done) { Thread.Sleep(1000); fCounter++; this.Counter.Text = fCounter.ToString(); } } private void button1_Click(object sender, System.EventArgs e) { Thread fThread = new Thread(new ThreadStart(ThreadFunc)); fThread.Start(); fThreadList.Add(fThread); this.NumThreads.Text = fThreadList.Count.ToString(); } private void button2_Click(object sender, System.EventArgs e) { Thread fThread = (Thread)fThreadList[fThreadList.Count - 1]; fThread.Abort(); fThreadList.Remove(fThread); this.NumThreads.Text = fThreadList.Count.ToString(); } } [/csharp]

TextBox Demo


   

/*
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.ComponentModel;
using System.Windows.Forms;
using System.Data;

namespace TextBox
{
    /// <summary>
    /// Summary description for TextBox.
    /// </summary>
    public class TextBox : System.Windows.Forms.Form
    {
        private System.Windows.Forms.Label label1;
        private System.Windows.Forms.Label label2;
        private System.Windows.Forms.Label label3;
        private System.Windows.Forms.Label label4;
        private System.Windows.Forms.TextBox SINGLE_LINE;
        private System.Windows.Forms.TextBox PASSWORD_LINE;
        private System.Windows.Forms.TextBox MULTI_LINE;
        private System.Windows.Forms.RichTextBox RICH_EDIT;
        /// <summary>
        /// Required designer variable.
        /// </summary>
        private System.ComponentModel.Container components = null;

        public TextBox()
        {
            //
            // 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.SINGLE_LINE = new System.Windows.Forms.TextBox();
            this.label1 = new System.Windows.Forms.Label();
            this.PASSWORD_LINE = new System.Windows.Forms.TextBox();
            this.label2 = new System.Windows.Forms.Label();
            this.label3 = new System.Windows.Forms.Label();
            this.MULTI_LINE = new System.Windows.Forms.TextBox();
            this.RICH_EDIT = new System.Windows.Forms.RichTextBox();
            this.label4 = new System.Windows.Forms.Label();
            this.SuspendLayout();
            // 
            // SINGLE_LINE
            // 
            this.SINGLE_LINE.CharacterCasing = System.Windows.Forms.CharacterCasing.Upper;
            this.SINGLE_LINE.ForeColor = System.Drawing.Color.FromArgb(((System.Byte)(128)), ((System.Byte)(64)), ((System.Byte)(64)));
            this.SINGLE_LINE.Location = new System.Drawing.Point(32, 40);
            this.SINGLE_LINE.Name = "SINGLE_LINE";
            this.SINGLE_LINE.Size = new System.Drawing.Size(408, 20);
            this.SINGLE_LINE.TabIndex = 0;
            this.SINGLE_LINE.Text = "THIS IS A SINGLELINE EDIT CONTROL";
            // 
            // label1
            // 
            this.label1.Location = new System.Drawing.Point(32, 24);
            this.label1.Name = "label1";
            this.label1.Size = new System.Drawing.Size(168, 16);
            this.label1.TabIndex = 1;
            this.label1.Text = "Single Line TextBox";
            // 
            // PASSWORD_LINE
            // 
            this.PASSWORD_LINE.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
            this.PASSWORD_LINE.Location = new System.Drawing.Point(32, 104);
            this.PASSWORD_LINE.Name = "PASSWORD_LINE";
            this.PASSWORD_LINE.PasswordChar = &#039;^&#039;;
            this.PASSWORD_LINE.Size = new System.Drawing.Size(104, 22);
            this.PASSWORD_LINE.TabIndex = 2;
            this.PASSWORD_LINE.Text = "";
            // 
            // label2
            // 
            this.label2.Location = new System.Drawing.Point(32, 80);
            this.label2.Name = "label2";
            this.label2.Size = new System.Drawing.Size(160, 16);
            this.label2.TabIndex = 3;
            this.label2.Text = "Password TextBox";
            // 
            // label3
            // 
            this.label3.Location = new System.Drawing.Point(32, 136);
            this.label3.Name = "label3";
            this.label3.Size = new System.Drawing.Size(120, 16);
            this.label3.TabIndex = 4;
            this.label3.Text = "MultiLine TextBox";
            // 
            // MULTI_LINE
            // 
            this.MULTI_LINE.AcceptsReturn = true;
            this.MULTI_LINE.AcceptsTab = true;
            this.MULTI_LINE.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, (System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic), System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
            this.MULTI_LINE.ForeColor = System.Drawing.SystemColors.HotTrack;
            this.MULTI_LINE.Location = new System.Drawing.Point(32, 160);
            this.MULTI_LINE.MaxLength = 10000;
            this.MULTI_LINE.Multiline = true;
            this.MULTI_LINE.Name = "MULTI_LINE";
            this.MULTI_LINE.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
            this.MULTI_LINE.Size = new System.Drawing.Size(408, 104);
            this.MULTI_LINE.TabIndex = 5;
            this.MULTI_LINE.Text = "";
            // 
            // RICH_EDIT
            // 
            this.RICH_EDIT.Font = new System.Drawing.Font("Verdana", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
            this.RICH_EDIT.ForeColor = System.Drawing.Color.Red;
            this.RICH_EDIT.Location = new System.Drawing.Point(32, 296);
            this.RICH_EDIT.Name = "RICH_EDIT";
            this.RICH_EDIT.ShowSelectionMargin = true;
            this.RICH_EDIT.Size = new System.Drawing.Size(408, 120);
            this.RICH_EDIT.TabIndex = 6;
            this.RICH_EDIT.Text = "richTextBox1";
            this.RICH_EDIT.ZoomFactor = 4.999695F;
            // 
            // label4
            // 
            this.label4.Location = new System.Drawing.Point(32, 272);
            this.label4.Name = "label4";
            this.label4.Size = new System.Drawing.Size(152, 16);
            this.label4.TabIndex = 7;
            this.label4.Text = "RichEdit Text Box";
            // 
            // TextBox
            // 
            this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
            this.ClientSize = new System.Drawing.Size(464, 453);
            this.Controls.AddRange(new System.Windows.Forms.Control[] {
                                                                          this.label4,
                                                                          this.RICH_EDIT,
                                                                          this.MULTI_LINE,
                                                                          this.label3,
                                                                          this.label2,
                                                                          this.PASSWORD_LINE,
                                                                          this.label1,
                                                                          this.SINGLE_LINE});
            this.Name = "TextBox";
            this.Text = "TextBox Controls";
            this.Load += new System.EventHandler(this.TextBox_Load);
            this.ResumeLayout(false);

        }
        #endregion

        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main() 
        {
            Application.Run(new TextBox());
        }

        private void TextBox_Load(object sender, System.EventArgs e)
        {
            RICH_EDIT.LoadFile("c:	empRTFDOC.RTF");     
        }
    }
}


           
          


TextBox and button on form


   

/*
C# Programming Tips &amp; Techniques
by Charles Wright, Kris Jamsa

Publisher: Osborne/McGraw-Hill (December 28, 2001)
ISBN: 0072193794
*/
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
namespace Form
{
  /// <summary>
  /// Summary description for ButtonTextForm.
  /// </summary>
  public class ButtonTextForm : System.Windows.Forms.Form
  {
    private System.Windows.Forms.Button button1;
    private System.Windows.Forms.Button button2;
    private System.Windows.Forms.TextBox textBox1;
    /// <summary>
    /// Required designer variable.
    /// </summary>
    private System.ComponentModel.Container components = null;

    public ButtonTextForm()
    {
      //
      // Required for Windows Form Designer support
      //
      InitializeComponent();

      //
      // TODO: Add any constructor code after InitializeComponent call
      //
    }


    #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.button1 = new System.Windows.Forms.Button();
      this.button2 = new System.Windows.Forms.Button();
      this.textBox1 = new System.Windows.Forms.TextBox();
      this.SuspendLayout();
      // 
      // button1
      // 
      this.button1.Location = new System.Drawing.Point(61, 159);
      this.button1.Name = "button1";
      this.button1.Size = new System.Drawing.Size(85, 37);
      this.button1.TabIndex = 1;
      this.button1.Text = "button1";
      // 
      // button2
      // 
      this.button2.Location = new System.Drawing.Point(196, 159);
      this.button2.Name = "button2";
      this.button2.Size = new System.Drawing.Size(95, 37);
      this.button2.TabIndex = 2;
      this.button2.Text = "button2";
      // 
      // textBox1
      // 
      this.textBox1.Location = new System.Drawing.Point(41, 37);
      this.textBox1.Name = "textBox1";
      this.textBox1.Size = new System.Drawing.Size(262, 22);
      this.textBox1.TabIndex = 0;
      this.textBox1.Text = "textBox1";
      // 
      // ButtonTextForm
      // 
      this.AutoScaleBaseSize = new System.Drawing.Size(6, 15);
      this.ClientSize = new System.Drawing.Size(340, 280);
      this.Controls.AddRange(new System.Windows.Forms.Control[] {
                                      this.button1,
                                      this.button2,
                                      this.textBox1});
      this.Name = "ButtonTextForm";
      this.Text = "ButtonTextForm";
      this.Load += new System.EventHandler(this.ButtonTextForm_Load);
      this.ResumeLayout(false);

    }
    #endregion

    /// <summary>
    /// The main entry point for the application.
    /// </summary>
    [STAThread]
    static void Main() 
    {
      Application.Run(new ButtonTextForm());
    }

    private void ButtonTextForm_Load(object sender, System.EventArgs e)
    {

    }

    private void button2_Click(object sender, System.EventArgs e)
    {
      Application.Exit ();
    }

    private void button1_Click(object sender, System.EventArgs e)
    {
      MessageBox.Show (this,
        textBox1.Text, "Text Box",
        MessageBoxButtons.OKCancel,
        MessageBoxIcon.Exclamation);
    }
  }
}


           
          


TextBox and ListBox


   


using System;
using System.Drawing;
using System.Windows.Forms;


public class WindowSample : Form
{
   private TextBox data;
   private ListBox results;

   public WindowSample()
   {
      Text = "Sample Window Program";
      Size = new Size(400, 380);

      Label label1 = new Label();
      label1.Parent = this;
      label1.Text = "Enter text string:";
      label1.AutoSize = true;
      label1.Location = new Point(10, 10);

      data = new TextBox();
      data.Parent = this;
      data.Size = new Size(200, 2 * Font.Height);
      data.Location = new Point(10, 35);

      results = new ListBox();
      results.Parent = this;
      results.Location = new Point(10, 65);
      results.Size = new Size(350, 20 * Font.Height);

      Button checkit = new Button();
      checkit.Parent = this;
      checkit.Text = "test";
      checkit.Location = new Point(235,32);
      checkit.Size = new Size(7 * Font.Height, 2 * Font.Height);
      checkit.Click += new EventHandler(ButtonOnClick);
   }

   void ButtonOnClick(object obj, EventArgs ea)
   {
      results.Items.Add(data.Text);
      data.Clear();
   }

   public static void Main()
   {
      Application.Run(new WindowSample());
   }
}
           
          


Label, TextBox and Button


   

/*
User Interfaces in C#: Windows Forms and Custom Controls
by Matthew MacDonald

Publisher: Apress
ISBN: 1590590457
*/

using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;

namespace ControlMedley
{
    /// <summary>
    /// Summary description for ControlMedley.
    /// </summary>
    public class ControlMedley : System.Windows.Forms.Form
    {
        internal System.Windows.Forms.Label Label1;
        internal System.Windows.Forms.TextBox TextBox1;
        internal System.Windows.Forms.Button Button1;
        /// <summary>
        /// Required designer variable.
        /// </summary>
        private System.ComponentModel.Container components = null;

        public ControlMedley()
        {
            //
            // 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.Label1 = new System.Windows.Forms.Label();
            this.TextBox1 = new System.Windows.Forms.TextBox();
            this.Button1 = new System.Windows.Forms.Button();
            this.SuspendLayout();
            // 
            // Label1
            // 
            this.Label1.FlatStyle = System.Windows.Forms.FlatStyle.System;
            this.Label1.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
            this.Label1.Location = new System.Drawing.Point(20, 92);
            this.Label1.Name = "Label1";
            this.Label1.Size = new System.Drawing.Size(112, 24);
            this.Label1.TabIndex = 5;
            this.Label1.Text = "Label1";
            this.Label1.Click += new System.EventHandler(this.ctrlClick);
            // 
            // TextBox1
            // 
            this.TextBox1.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
            this.TextBox1.Location = new System.Drawing.Point(20, 56);
            this.TextBox1.Name = "TextBox1";
            this.TextBox1.Size = new System.Drawing.Size(156, 21);
            this.TextBox1.TabIndex = 4;
            this.TextBox1.Text = "TextBox1";
            this.TextBox1.Click += new System.EventHandler(this.ctrlClick);
            // 
            // Button1
            // 
            this.Button1.FlatStyle = System.Windows.Forms.FlatStyle.System;
            this.Button1.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
            this.Button1.Location = new System.Drawing.Point(20, 16);
            this.Button1.Name = "Button1";
            this.Button1.Size = new System.Drawing.Size(96, 28);
            this.Button1.TabIndex = 3;
            this.Button1.Text = "Button1";
            this.Button1.Click += new System.EventHandler(this.ctrlClick);
            // 
            // ControlMedley
            // 
            this.AutoScaleBaseSize = new System.Drawing.Size(5, 14);
            this.ClientSize = new System.Drawing.Size(316, 214);
            this.Controls.AddRange(new System.Windows.Forms.Control[] {
                                                                          this.Label1,
                                                                          this.TextBox1,
                                                                          this.Button1});
            this.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
            this.Name = "ControlMedley";
            this.Text = "Control Medley";
            this.ResumeLayout(false);

        }
        #endregion

        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main() 
        {
            Application.Run(new ControlMedley());
        }

        private void ctrlClick(System.Object sender, EventArgs e)
        {
            Control ctrl = (Control)sender;
            MessageBox.Show("You clicked: " + ctrl.Name);
        }

    }
}


           
          


Get value from TextBox

   
 
using System;
using System.Drawing;
using System.Windows.Forms;

public class InterestCalculator : Form {

    Button buttonCalculate  = new Button();

    TextBox textBoxPrincipal = new TextBox();
    TextBox textBoxRate = new TextBox();
    TextBox textBoxInterest = new TextBox();

    Label labelPrincipal = new Label();
    Label labelRate = new Label();
    Label labelInterest = new Label();

    public InterestCalculator() {
        buttonCalculate.Location = new Point(50, 100);
        buttonCalculate.Text = "Calculate";

        buttonCalculate.Click += new System.EventHandler(this.buttonCalculate_Click);

        this.Controls.Add(buttonCalculate);

        textBoxPrincipal.Location = new Point(10, 20);
        textBoxPrincipal.Size = new Size(150, 10);
        textBoxPrincipal.Text = "100000.00";
        this.Controls.Add(textBoxPrincipal);

        textBoxRate.Location = new Point(10, 60);
        textBoxRate.Size = new Size(150, 10);
        textBoxRate.Text = "0.15";
        this.Controls.Add(textBoxRate);

        textBoxInterest.Location = new Point(10, 150);
        textBoxInterest.Size = new Size(150, 10);
        textBoxInterest.Text = "15000.00";
        this.Controls.Add(textBoxInterest);

        labelPrincipal.Location = new Point(10, 5);
        labelPrincipal.Size = new Size(144, 15);
        labelPrincipal.Text = "Principal";
        this.Controls.Add(labelPrincipal);

        labelRate.Location = new Point(10, 45);
        labelRate.Size = new Size(144, 15);
        labelRate.Text = "Rate";
        this.Controls.Add(labelRate);

        labelInterest.Location = new Point(10, 135);
        labelInterest.Size = new Size(144, 15);
        labelInterest.Text = "Interest";
        this.Controls.Add(labelInterest);
    }

    private void buttonCalculate_Click(object sender, System.EventArgs e) {
        double prin = Convert.ToDouble(textBoxPrincipal.Text);
        double rate = Convert.ToDouble(textBoxRate.Text);
        double amt = prin * rate;
        textBoxInterest.Text = amt.ToString("f2");
    }

    public static void Main(string[] args) {
        Application.Run(new InterestCalculator());
    }
}