Csharp/C Sharp by API/System.Windows.Forms/KeyPressEventArgs

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

KeyPressEventArgs.Handled

<source lang="csharp"> 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;
    }
 }     

}


 </source>