技术开发 频道

.NET Windows编程:.NET程序交互


    在Windows编程中,用户输入(包括鼠标输入和键盘输入)是非常重要的一个话题。本节介绍如何处理用户输入、输入验证、Windows程序中鼠标的托放功能、如何模拟用户输入等。
一、用户输入
    在Windows 窗体中,用户输入以Windows 消息的形式发送到应用程序。
    一系列可重写的方法在应用程序、窗体和控件级处理这些消息。当这些方法接收到鼠标和键盘消息时,将引发相应的事件,可以处理这些事件来获取关于鼠标或键盘输入的信息。
    在许多情况下,Windows 窗体应用程序可以仅仅通过处理这些事件来处理所有用户输入。
    所有Windows 窗体控件都继承一组与鼠标和键盘输入有关的事件。

二、键盘输入
    Windows 窗体通过引发键盘事件来处理键盘输入以响应Windows 消息。
    键盘事件:当用户按键盘键时,Windows 窗体提供两个事件,而当用户松开键盘键时,Windows 窗体提供一个事件。
    KeyDown事件发生一次;KeyPress事件,当用户按住同一个键时,该事件可以发生多次。当用户松开键时,KeyUp事件发生一次。

键盘事件



    KeyPressEventArgs.KeyChar获取或设置与按下的键对应的字符。
    可以获取或设置以下键:a-z、A-Z、Ctrl、标点符号、键盘顶部和数字键盘上的数字键、Enter。
    不能获取或设置以下键:Tab 键、Insert 和Delete、Home、End、Page Up 、Page Down、F1-F12、Alt、箭头键。

    Keys 枚举指定键代码和修饰符。
     例如:Keys.D0:表示0 键;Keys.NumPad0:表示数字键盘上的0 键;Keys.Add:加号键;Control:Ctrl修改键;       Delete:DeL键;Enter:Enter键。

在窗体级别处理键盘输入
    Windows 窗体提供在键盘消息到达控件前在窗体级别处理这些消息的功能。 
    处理启动窗体的KeyPress或KeyDown事件,将窗体的KeyPreview属性设置为true,使键盘消息在到达窗体上的任何控件之前先被窗体接收。

确定所按下的修改键
    在创建接受用户击键的应用程序时,您可能还希望监视修改键,如Shift、Alt 和Ctrl 键。并希望在同时按下修改键和其他键,或者单击鼠标的同时按下修改键时,您的应用程序可以做出适当的响应。
     如果处理KeyDown事件,则事件处理程序所接收的KeyEventArgs的Modifiers 属性指定按下。
     如果处理KeyPress事件或鼠标事件,必须使用Control 类的ModifierKeys属性。
     Control.ModifierKeys:获取一个值,该值指示哪一个修改键(Shift、Ctrl 和Alt)处于按下的状态。
     DEMO1:键盘输入示例

0
相关文章