高手都不要进了

O15013245O 2007-07-06 10:45:32
小问题,窗体上很多控件,我想实现敲回车键的功能和Tab键一样,怎么办?写了几行代码,不执行
protected override void OnKeyDown(KeyEventArgs e)
{
switch (e.KeyData)
{
case Keys.Up:
SendKeys.Send("+{tab}");
e.Handled = true;
break;

case Keys.Down:
SendKeys.Send("{tab}");
e.Handled = true;
break;

case Keys.Return:
SendKeys.Send("{tab}");
e.Handled = true;
break;
}
base.OnKeyDown(e);
}
...全文
689 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
O15013245O 2007-07-11
  • 打赏
  • 举报
回复
to sunzhong2003() :
如果你认为我不厚道,我可以专门开贴给你分
你说的那种方法是我最开始用的,但是我感觉不方便,如果控件很多,我不是要一个一个选中然后再选事件!我是非常懒的那种,不想这样做,希望你能理解!
sunzhong2003 2007-07-06
  • 打赏
  • 举报
回复
楼主给分不厚道啊,下次绝对不回答
SAGEM_M 2007-07-06
  • 打赏
  • 举报
回复
方法都被楼上的说了..........
jlzan1314 2007-07-06
  • 打赏
  • 举报
回复
做个标记学习
hamehameha 2007-07-06
  • 打赏
  • 举报
回复
我不是高手,哎~~~都被高手回答了,只能JF
zbking 2007-07-06
  • 打赏
  • 举报
回复
恩,我是来学习的,有分吗?
xray2005 2007-07-06
  • 打赏
  • 举报
回复
学习ing...
北京的雾霾天 2007-07-06
  • 打赏
  • 举报
回复
因为OnKeyDown当窗体上有其它控件的时候会被其它控件把焦点占用,你设置this.KeyPreview=true也可以.
O15013245O 2007-07-06
  • 打赏
  • 举报
回复
jianojian() ( ) 信誉:100 Blog 加为好友 2007-07-06 10:52:28 得分: 0


早就见过,从网上一查一堆,楼主喜欢送分


---------------------------------
赞一个,上次散200分,给VMM转非技术区了,所以这次憋了两星期憋出个这问题
NetFlag 2007-07-06
  • 打赏
  • 举报
回复
KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
System.Windows.Forms.SendKeys.Send("{TAB}");
}
}
可以解决,也可以参照
O15013245O 2007-07-06
  • 打赏
  • 举报
回复
恩,大家的都可以,不过还是hbxtlhx(平民百姓-自已动手,丰衣足食)比较合适
其他的回答如果要是控件非常多,那么每个都要加这个事件了,对于懒人来说,不喜欢


还想再问,为什么我重写OnKeyDown,代码一句都不执行捏?
viena 2007-07-06
  • 打赏
  • 举报
回复
用KeyDown似乎不太合适,应该用KeyPress吧,至少用KeyUp
hm7921936 2007-07-06
  • 打赏
  • 举报
回复
分给我. 他们全部违反了 归着
cancerser 2007-07-06
  • 打赏
  • 举报
回复
protected override bool ProcessCmdKey(ref System.Windows.Forms.Message msg,System.Windows.Forms.Keys e)
{
if(e==Keys.Enter)
{
SendKeys.Send("{tab}");
return true;
}
return false;
}//这样写就可以了
godgreat 2007-07-06
  • 打赏
  • 举报
回复
高手不要进,哎,分没了
我啃 2007-07-06
  • 打赏
  • 举报
回复
DING
viena 2007-07-06
  • 打赏
  • 举报
回复
@_@
jianojian 2007-07-06
  • 打赏
  • 举报
回复
早就见过,从网上一查一堆,楼主喜欢送分
lovingkiss 2007-07-06
  • 打赏
  • 举报
回复
hbxtlhx——都告诉你高手就不要进入了,应该我来回答才对

分给我,他违反了竞技规则

==================================================================
博客空间:http://blog.csdn.net/lovingkiss
资源下载:http://download.csdn.net/user/lovingkiss
Email:loving-kiss@163.com
本人说明:<我的帖子我做主,结贴率保持100%>
优惠接单开发,信誉保证,Q64180940(请清楚注明业务还是技术咨询)
==================================================================
vainnetwork 2007-07-06
  • 打赏
  • 举报
回复
KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
System.Windows.Forms.SendKeys.Send("{TAB}");
}
}
可以解决,也可以参照
加载更多回复(6)

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧