您的位置:首页 > 编程语言 > C#

C# KeyDown与KeyPress

2015-11-29 18:59 609 查看
按键事件的触发顺序:
keyDown (控件获取焦点按键发生)
KeyPress (控件获取焦点按键发生)
KeyUp (控件获取焦点并释放时发生)
那么keyDown和keyPress的区别:
KeyDown不能区分字符大小写
KeyPress区分大小写。
他们之间获取键和值的方法也有区别。看例子:

namespace KK
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
label1.Text = "";
label2.Text = "";
}

private void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
label1.Text = "";
label2.Text = "";
}
else
{
label1.Text += e.KeyCode;
label2.Text += e.KeyValue;
//label2.Text += Convert.ToInt32().ToString();
}
}
}
}






相同的按键,KeyPress执行的结果:

namespace KK
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
label1.Text = "";
label2.Text = "";
}
private void Form1_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == '\r')
{
label1.Text = "";
label2.Text = "";
}
else
{
label1.Text += e.KeyChar;
//label2.Text += e.KeyValue;
label2.Text += Convert.ToInt32(e.KeyChar).ToString();
}
}
}
}




内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: