鼠标事件和键盘事件总结 及判断是不是数字方法

 

事件

Delegate

命名空间

数据的类

实现

 

 

 

 

 

"MouseHover"

"MouseLeave"

"MouseEnter"

 

EventHandler

 

System

 

EventArgs

1、定义:"组件名"."事件名称"+= new   System.EventHandler("事件名称");

2、实现:button1.MouseLeave   += new Syetem.EvenHandler(button1_MLeave);

3、响应事件:private void button1_MLeave (object sender,System.EventArgs e)

{此处加入响应此事件的代码 }

"MouseMove"、

"MouseDown"

"MouseUp"

 

MouseEventHandler

 

Syetem.Windows.Froms

 

MouseEventArgs

1、定义:"组件名称"."事件名称"+= new   System.Windows.Forms.MouseEventHandler("事件名称");

2、实现:button1.MouseMove   += new System.Windows.Forms.MouseEventHandler(button1_Mmove);

3、响应事件:private void button1_MMove(object sender,System.Windows.Forms.   MouseEventArgs e)

{ 此处加入响应此事件的代码 }

其一是读取鼠标的当前位置;其二是判定到底是那个鼠标按键按动。

判定鼠标的位置可以通过事件"MouseMove"来处理,在"MouseEventArgs"类中提供了二个属性"X"和"Y",来判定当前鼠标纵坐标和横坐标。而判定鼠标按键的按动情况,可以通过事件"MouseDown"来处理,并且在"MouseEventArgs"类中也提供了一个属性"Button"来判定鼠标按键情况。

 

 

 

 

"KeyDown"

"KeyUp"

 

 

KeyEventHandler

 

 

 

 

 

Syetem.Windows.Froms

 

KeyEventArgs

1、定义:"组件名称"."事件名称"+= new Syetem.Windows.Froms.KeyEventHandler("事件名称";

2、具体实现代码:button1.KeyUp += new Syetem.Windows.Froms.KeyEventHandler(button1_KUp;

3、响应上面事件的基本结构:private void button1_KUp (object sender,Syetem.Windows.Froms.   KeyEventArgs e)

{ 此处加入响应此事件的代码 }

 

 

KeyPress

 

 

KeyPressEventHandler

 

 

KeyPressEventArgs

1、  定义:"组件名称"."事件名称"+= new   Syetem.Windows.Froms. KeyPressEventHandler("事件名称";

2、具体实现代码:button1.KeyPress += new Syetem.Windows.Froms.KeyPressEventArgs(button1_KPress);

3、响应上面事件的基本结构:

private void button1_KPress ( object sender ,   Syetem.Windows.Froms. KeyPressEventArgs e)

{ 此处加入响应此事件的代码 }

和键盘相关的典型问题无非就是判定到底是哪个按键被按动。通过上面的三个事件都可以完成。并且在"KeyEventArgs"类中通过了一个属性"KeyCode",可以用他来读取当前按键。所以就在"KeyUp"或者"KeyDown"事件中处理这个问题。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

需要判断Char是否为数字,有三种方法:

Char.IsDigit (aChar)              指示指定字符串中位于指定位置处的字符是否属于十进制数字类别

Char.IsNumber(aChar)        指示指定字符串中位于指定位置的字符是否属于数字类别

aChar>='0'&&aChar<='9'     判断aChar是否位于‘0’到‘9’之前  等同于第一种

 

 //只能输入数字的TextBox        

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)   

   {

     //全角数字"KeyChar"=2,半角数字"KeyChar"=1       

      byte[] array = System.Text.Encoding.Default.GetBytes(e.KeyChar.ToString());             //array.LongLength,而不是array.Length    

        if (!char.IsDigit(e.KeyChar) || array.LongLength == 2) e.Handled = true;         

       if (e.KeyChar == '\b' || e.KeyChar == '.') e.Handled = false;                //'\b'是退格键值        

        //总结:Handled   获取或设置一个值,该值指示是否处理过 KeyPress事件,          

       //KeyChar获取或设置与按下的键对应的字符          

       //e.Handled为false的时候表示可以接受该事件      

        //e.Handled = true;//为true时表示已经处理了事件(即不处理当前键盘事件)

        }

posted @ 2013-01-24 14:11  chaiwangbing32  阅读(269)  评论(0编辑  收藏  举报