Csharp/CSharp Tutorial/GUI Windows Forms/Control Event

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

Cancel (eat) event

using System;
using System.Drawing;
using System.Collections;
using System.ruponentModel;
using System.Windows.Forms;
using System.Data;
public class TextCancelEventKeyEvent : System.Windows.Forms.Form
{
  private System.Windows.Forms.Label label1;
  private System.Windows.Forms.TextBox txtInput;
  private System.Windows.Forms.Label label2;
  private System.Windows.Forms.Label lblTrue;
  private System.Windows.Forms.Label label3;
  private System.Windows.Forms.Label lblCheck;
    private System.Windows.Forms.Label lblResults;
  public TextCancelEventKeyEvent()
  {
    InitializeComponent();
  }
  private void InitializeComponent()
  {
     this.label1 = new System.Windows.Forms.Label();
     this.txtInput = new System.Windows.Forms.TextBox();
     this.label2 = new System.Windows.Forms.Label();
     this.lblTrue = new System.Windows.Forms.Label();
     this.label3 = new System.Windows.Forms.Label();
     this.lblCheck = new System.Windows.Forms.Label();
     this.lblResults = new System.Windows.Forms.Label();
     this.SuspendLayout();
     // 
     // label1
     // 
     this.label1.Font = new System.Drawing.Font("Tahoma", 14.25F, (System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic), System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
     this.label1.Location = new System.Drawing.Point(48, 16);
     this.label1.Name = "label1";
     this.label1.Size = new System.Drawing.Size(176, 23);
     this.label1.TabIndex = 0;
     this.label1.Text = "ISBN Validation";
     // 
     // txtInput
     // 
     this.txtInput.Location = new System.Drawing.Point(72, 64);
     this.txtInput.Name = "txtInput";
     this.txtInput.TabIndex = 1;
     this.txtInput.Text = "";
     this.txtInput.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.txtInput_KeyPress);
     this.txtInput.Validating += new System.ruponentModel.CancelEventHandler(this.handleCancleEvent);
     // 
     // label2
     // 
     this.label2.Location = new System.Drawing.Point(24, 104);
     this.label2.Name = "label2";
     this.label2.Size = new System.Drawing.Size(80, 23);
     this.label2.TabIndex = 2;
     this.label2.Text = "True Number:";
     // 
     // lblTrue
     // 
     this.lblTrue.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
     this.lblTrue.Location = new System.Drawing.Point(112, 104);
     this.lblTrue.Name = "lblTrue";
     this.lblTrue.TabIndex = 3;
     // 
     // label3
     // 
     this.label3.Location = new System.Drawing.Point(32, 152);
     this.label3.Name = "label3";
     this.label3.Size = new System.Drawing.Size(72, 23);
     this.label3.TabIndex = 4;
     this.label3.Text = "Check Digit:";
     // 
     // lblCheck
     // 
     this.lblCheck.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
     this.lblCheck.Location = new System.Drawing.Point(112, 152);
     this.lblCheck.Name = "lblCheck";
     this.lblCheck.TabIndex = 5;
     // 
     // lblResults
     // 
     this.lblResults.Location = new System.Drawing.Point(56, 192);
     this.lblResults.Name = "lblResults";
     this.lblResults.Size = new System.Drawing.Size(152, 24);
     this.lblResults.TabIndex = 8;
     // 
     // TextCancelEventKeyEvent
     // 
     this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
     this.ClientSize = new System.Drawing.Size(264, 293);
     this.Controls.AddRange(new System.Windows.Forms.Control[] {
                                                                  this.lblResults,
                                                                  this.lblCheck,
                                                                  this.label3,
                                                                  this.lblTrue,
                                                                  this.label2,
                                                                  this.txtInput,
                                                                  this.label1});
     this.ResumeLayout(false);
  }
  [STAThread]
  static void Main() 
  {
    Application.Run(new TextCancelEventKeyEvent());
  }
  private void handleCancleEvent(object sender, System.ruponentModel.CancelEventArgs e)
  {
    TextBox tb = (TextBox)sender;
    string strInput = tb.Text;
        Console.WriteLine(strInput);
  }     
  private void txtInput_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
  {
     char keyChar;
     keyChar = e.KeyChar;
     if(!Char.IsDigit(keyChar)      // 0 - 9
        &&
        keyChar != 8               // backspace
        &&
        keyChar != 13              // enter
        &&
        keyChar != "x"
        &&
        keyChar != 45              //  dash/minus
        ){
        //  Do not display the keystroke
        e.Handled = true;
     }
  }     
}

Label"s Generic event

using System;
using System.Drawing;
using System.Collections;
using System.ruponentModel;
using System.Windows.Forms;
using System.Data;
public class LabelWithGenericEvent : System.Windows.Forms.Form
{
  private System.Windows.Forms.Label lblTitle;
  public LabelWithGenericEvent()
  {
    InitializeComponent();
  }
  private void InitializeComponent()
  {
    this.lblTitle = new System.Windows.Forms.Label();
    this.SuspendLayout();
    // 
    // lblTitle
    // 
    this.lblTitle.Location = new System.Drawing.Point(40, 24);
    this.lblTitle.Name = "lblTitle";
    this.lblTitle.Size = new System.Drawing.Size(150, 25);
    this.lblTitle.TabIndex = 0;
    this.lblTitle.Text = "Events Demonstrator";
    this.lblTitle.Click += new System.EventHandler(this.GenericEventHandler);
    this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
    this.ClientSize = new System.Drawing.Size(242, 173);
    this.Controls.AddRange(new System.Windows.Forms.Control[] {  this.lblTitle});
    this.ResumeLayout(false);
  }
  [STAThread]
  static void Main() 
  {
    Application.Run(new LabelWithGenericEvent());
  }
  private void GenericEventHandler(object sender, EventArgs e)
  {
    MessageBox.Show("Generic event handler","Event Demo");
  }
}