您的位置:程序门 -> .net技术 -> c#



按下回车键后combox控件焦点转移到下一控件?


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


按下回车键后combox控件焦点转移到下一控件?[已结贴,结贴人:thol2005]
发表于:2007-03-31 17:30:35 楼主
当在combox控件   按下回车键后,焦点转移到下一控件,我使用sendkeys.send( "{tab} ");但是当   combox控件展开下拉框后,按下回车键,它却跳了两个控件,请问有什么好的方法吗?
发表于:2007-03-31 19:33:031楼 得分:0
在enter事件下写
page.actioncontrol   =   下一控件名;
发表于:2007-04-01 09:17:172楼 得分:0
up
发表于:2007-04-01 09:30:253楼 得分:0
当在combox控件   按下回车键后,焦点转移到下一控件,我使用sendkeys.send( "{tab} ");但是当   combox控件展开下拉框后,按下回车键,它却跳了两个控件,请问有什么好的方法吗?

可能是你的tab键索引没有顺序!
发表于:2007-04-01 16:23:174楼 得分:0
同意jsifeng(有没有一缕阳光给我啊)所说,查查你的控件索引号(tabindex属性)。很多时候是不会去注意这个问题的,所以一按tab键,就不知道跑到哪个控件上去了。     ^_^
发表于:2007-04-01 17:53:165楼 得分:5
1   按顺序设置各控件的tabindex属性,他代表了你的控件tab顺序.
2   设置窗体的keypreview值为true.
3   为窗体的keypress之类的事件加代码:

private   void   form1_keypress(object   sender,   keypresseventargs   e)
{
        if   (e.keychar   ==   (char)keys.enter)
        {
                sendkeys.send( "{tab} ");
        }
}

好了.完事了.   突然有点留恋vb的对象(控件)数组.
发表于:2007-04-01 21:21:546楼 得分:0
设置tableindex   ,然后再看别的.
发表于:2007-04-01 21:26:307楼 得分:5
来晚了,这是一前辈给的代码,很好用的:::

把下面的代码放到窗体中可以实现按回车键跳到下一个可选的tabindex控件:
protected   override   bool   processdialogkey(keys   keydata)
{
if   (keydata   ==   keys.enter   &&   !(this.activecontrol   is   button))
{
keydata   =   keys.tab;
}
return   base.processdialogkey(keydata);
}
如果想对button也执行这个规则,可以把!(this.activecontrol   is   button)去掉.
发表于:2007-04-01 22:11:238楼 得分:0
谢谢,又上了一课!


快速检索

最新资讯
热门点击