C#学习记录(32)windows应用程序基础之TextBox控件

    一.TextBox控件的属性

    CausesValidation     当控件的这个属性设置为true,且控件要获得焦点时,会引发两个事件:Validating 和

Validated。可以处理这些事件,以便验正在失去焦点的控件中数据的有效性。这可能使控件永远都不能获得焦点。

    CharacterCasing     这个值表示TextBox 是否会改变输入的文本的大小写。可能的值有:
                                   Lower:输入的所有文本都转换为小写
                                   Normal:不对文本进行任何转换

                                   Upper:输入的所有文本都转换为大写

    MaxLength             这个值指定输入到TextBox 中的文本的最大字符长度。

    Multiline                 表示该控件是否是一个多行控件。

    PasswordChar        设置为*,则运行时输入字符显示为***.与Multiline冲突 。 

               

    二.TextBox控件的事件

    1.TextBox 控件提供的有效性验证事件。如果要确保文本框中不输入无效的字符,或者只输入某个范围内的数值,就需要告诉控件的用户:输入的值是否有效。

    Enter-->Leave-->Validating-->Validated

    这4 个事件按照列出的顺序引发。它们统称为“焦点事件”,当控件的焦点发生改变时引发,但有两个例外。Validating 和Validated 仅在控件接收了焦点,其CausesValidation 属性设置为true 时引发。

    Validating这个事件可以被多个文本框共同调用,只写一个事件处理函数就可以了。

    private void txtBoxEmpty_Validating(object sender, CancelEventArgs e) ///检查文本框的值
    {
          TextBox tb = (TextBox)sender;    
          if (tb.Text.Length == 0)
          {
                tb.BackColor = Color.Red ;
          }
          else
          {
                tb.BackColor = System.Drawing.SystemColors.Window ;

          }

          ValidateOK();   

    }

     private void ValidateOK()    ///判断各个文本框的背景色都不为红,则使能buttonOK按钮。
    {
          this.buttonOK.Enabled = (textBoxName.BackColor != Color.Red &&
                                                   textBoxAddress.BackColor != Color.Red &&
                                                   textBoxAge.BackColor != Color.Red);
    }

     2. KeyDown-->KeyPress-->KeyUp

    这3 个事件称为“键事件”,它们可以监视和改变输入到控件中的内容。KeyDown 和KeyUp 接收所按下键对应的键码。这样就可以确定是否按下了特殊的键Shift 或Ctrl 和F1。另一方面,KeyPress接收与键对应的字符。这表示字母a 的值与字母A 的值不同。

    private void textBoxAge_KeyPress(object sender, KeyPressEventArgs e)
    {
          if ((e.KeyChar < 48 || e.KeyChar > 57) && e.KeyChar != 8)////8为退格键的ASCII值
                e.Handled = true; // 不显示该字符
    }

    

猜你喜欢

转载自blog.csdn.net/shenseyoulan/article/details/80937918