SendKeys.Send() 与 SendKeys.SendWait() 一样,靠不住。偶尔会没反应。
有没有什么替代方案?这是重写网格中的事件,让回车跳到下一个单元格。经常出现按回车没反应的情况,有时急得想把回车键给砸了,非得关掉窗体再打开才行。
//public partial class MyGrid : DataGridView
protected override bool ProcessCmdKey(ref System.Windows.Forms.Message msg, System.Windows.Forms.Keys keyData)
{
//回车换Tab
if (keyData == Keys.Enter)
{
SendKeys.SendWait("{tab}");
//System.Threading.Thread.Sleep(100);
return true;
}
}
有没有什么替代方案?这是重写网格中的事件,让回车跳到下一个单元格。经常出现按回车没反应的情况,有时急得想把回车键给砸了,非得关掉窗体再打开才行。
//public partial class MyGrid : DataGridView
protected override bool ProcessCmdKey(ref System.Windows.Forms.Message msg, System.Windows.Forms.Keys keyData)
{
//回车换Tab
if (keyData == Keys.Enter)
{
SendKeys.SendWait("{tab}");
//System.Threading.Thread.Sleep(100);
return true;
}
}
解决方案 »
- 在C#中怎样将Unicode的字符编码转换成gb2312字符编码啊
- 求 C# 的 冒泡排序 方法 要 源码
- 急,急,急,怎么把EXCEL中的日报表和月报表关联起来?
- 怎样锁定对一个文件的修改,也就是说同一时间一个文件(比如txt)只能被一个程序使用?
- c#连接ACCESS问题,请高手指教
- vs2005中文版不能自动生成dll文件吗?
- 菜鸟问题。
- 多ajax同时请求,当服务器返回值时覆盖掉之前的请求结果,求解决方案
- sql 2000统计天数
- 函数XmlSerializer.Deserialize在WIN98运行时不支持中文路径名,报错“路径中含有非法字符”,为什么?
- DevExpress.XtraVerticalGrid.vGridControl控件取值问题
- 做的郁闷了 WPF的温度计 我用了AERO风格的界面
if (e.KeyChar == 13)
{
System.Windows.Forms.SendKeys.Send("{TAB}");
}
这样试试
protected override bool ProcessCmdKey(ref System.Windows.Forms.Message msg, System.Windows.Forms.Keys keyData)
{
return base.ProcessCmdKey(ref msg, keyData == Keys.Enter ? Keys.Tab : keyData);
}
关键是这样它不会跳,所以才找 SendKeys来顶替。
{
//回车换Tab
if (keyData == Keys.Enter)
{
.....
}
else
base.ProcessCmdKey(.....);
{
base.ProcessCmdKey(ref msg, keyData);
int WM_KEYDOWN = 256;
int WM_SYSKEYDOWN = 260;
bool _disable = false;
if (msg.Msg == WM_KEYDOWN || msg.Msg == WM_SYSKEYDOWN)
{
switch (keyData)
{
//重载回车键
case Keys.Enter:
SendKeys.Send("{Tab}");
_disable = true;
break;
}
}
return _disable;
}
这问题客户那经常出现,而且我这里都可以问题再现,运气孬的时候还可以用断点跟踪到。