如何区别大小键盘的回车键 难道都是keys.enter怎么区分啊 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 ACII里好像没有大写回车键值把,有大小写区分的只有26个字母 键事件按下列顺序发生: KeyDown KeyPress KeyUp 非字符键不会引发 KeyPress 事件;但非字符键却可以引发 KeyDown 和 KeyUp 事件。使用 KeyChar 属性在运行时对键击进行取样,并且使用或修改公共键击的子集。=================非字符键不会引发 KeyPress 事件吗。那大键盘回车算么。为什么我试了下可以处理啊 你试试, override 下wndproc, 在里面加加一行:Console.WriteLine(m.ToString());然后分别按下两个回车, 看看输出有什么区别没有。如果是winform程序, 没有从命令行起来的话, 会打印到vs的输出窗口去。 参考如下代码:public class KeyFilter : IMessageFilter{ #region IMessageFilter Members const int WM_KEYDOWN = 0x0100; const int VK_RETURN = 13; private Form parent; public KeyFilter(Form parent) { this.parent = parent; } public bool PreFilterMessage(ref Message m) { switch (m.Msg) { case WM_KEYDOWN: if (VK_RETURN != ((int)m.WParam & 0xff)) return false; if (!(parent.ActiveControl is TextBox)) return false; if (((int)m.LParam & 0x1000000) != 0) { MessageBox.Show("小键盘回车"); SendKeys.Send("{TAB}"); return true; // 过滤 } else { MessageBox.Show("大键盘回车"); } break; } return false; } #endregion}private void Form1_Load(object sender, EventArgs e){ Application.AddMessageFilter(new KeyFilter(this));}代码都给出了,楼主你能不能动手试试 LZ是在说键盘中间的回车键和小键盘数字键右边的回车键不是大写状态和小写状态的回车键如果用ASCII码,是没办法区分的其他办法应该有的学习中…… ASCII码是一样的 怎么分?? dataset的问题 C#创建了DataSet 填充后如何再读取相应数据 事件是怎么激发的? 请问高手:怎样控制程序每次只能运行一个例程 SQL2005的界面 DataGridView显示两个表,貌似难题 这个错误如何更正? 究竟有沒有這個功能:問了很多遍了 無人回應 我要进行byte类型的异或,靠c#居然^只有bool、int好用,我怎么办啊? C#Winform控件问题 分享自己做的学习笔记本,同时希望高手改进 初学者求生成需要上传到SAP的TXT文件的代码
=================
非字符键不会引发 KeyPress 事件吗。那大键盘回车算么。为什么我试了下可以处理啊
Console.WriteLine(m.ToString());然后分别按下两个回车, 看看输出有什么区别没有。如果是winform程序, 没有从命令行起来的话,
会打印到vs的输出窗口去。
public class KeyFilter : IMessageFilter
{
#region IMessageFilter Members
const int WM_KEYDOWN = 0x0100;
const int VK_RETURN = 13;
private Form parent;
public KeyFilter(Form parent)
{
this.parent = parent;
} public bool PreFilterMessage(ref Message m)
{
switch (m.Msg)
{
case WM_KEYDOWN:
if (VK_RETURN != ((int)m.WParam & 0xff)) return false;
if (!(parent.ActiveControl is TextBox)) return false;
if (((int)m.LParam & 0x1000000) != 0)
{
MessageBox.Show("小键盘回车");
SendKeys.Send("{TAB}");
return true; // 过滤
}
else
{
MessageBox.Show("大键盘回车");
}
break;
}
return false;
}
#endregion
}private void Form1_Load(object sender, EventArgs e)
{
Application.AddMessageFilter(new KeyFilter(this));
}
代码都给出了,楼主你能不能动手试试
不是大写状态和小写状态的回车键如果用ASCII码,是没办法区分的
其他办法应该有的
学习中……