| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1706 人关注过本帖
标题:如何令表单中的控件无法成为焦点,就是TAB键切换不到?
只看楼主 加入收藏
vonandreas
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2012-1-18
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:8 
如何令表单中的控件无法成为焦点,就是TAB键切换不到?
如题,小弟最近在做一个绩点计算器,希望同学们在输入的时候能在几个必要信息和确认键之间快速切换,而不必切换到其它控件,如我用作显示的表格控件上去。谢谢大侠们相助!
搜索更多相关主题的帖子: 如何 
2012-01-18 19:22
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:20 
無法成為焦點,設其Enabled=.F.
要快捷切換,控件可以使用快捷方式,用Alt+<鍵>跳躍。

授人以渔,不授人以鱼。
2012-01-18 19:28
vonandreas
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2012-1-18
收藏
得分:0 
回复 2楼 TonyDeng
这样一来问题的确就解决了,但是这样我设计的不想让按TAB可以切换到的按钮也就彻底没有办法按了。所以我决定把这些退出之类的按钮挪到菜单上去了。费了好半天劲才把那个_screen窗口去掉,现在又得加上去了,唉,技术限制导致设计得服从于功能啊。谢谢您了
2012-01-19 10:20
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
不想控件接受焦點,你按TAB也不該讓它接受呀。如果在某些時候能接受焦點,要麼動態切換Enabled,要麼把這個控件的TabIndex往最後排(最前也可以,總之在極端處)。

授人以渔,不授人以鱼。
2012-01-19 14:22
vonandreas
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2012-1-18
收藏
得分:0 
回复 4楼 TonyDeng
您大概没明白我的目的。我的目的是这样的:在一个计算绩点的表单中,同学们可以输入课程名、成绩和学分,然后点确定添加。在计算成绩的时候可以通过按TAB键切换下一项,就是输完课程文本框直接按TAB切换到成绩文本框,然后再按TAB切换至学分文本框,然后再按TAB切换至确定按钮,直接敲下回车就添加了一门成绩。
但是问题在于,由于我的表单中还有显示成绩和绩点的表格,以及退出按钮等其它控件。导致每次按完确定键想继续输入下一科成绩的时候,就需要动用鼠标再次点击课程文本框。继续按TAB切换的话就不得不把所有剩下的控件也过一遍。我的切身体会是能够一直敲击键盘的话将大大节省时间和力气。
所以我希望达到的结果是:其余的控件如退出按钮等是可以使用的,但是无法使用TAB键切换到。
如果通过TAB键无法实现,能使用一个快捷键使得焦点可以在那三个文本框之间来回切换也是可以的,但是我不知道有什么办法可以实现这个功能。
还有一个解决办法就是把那些不许要快速切换到的按钮都集中到顶部菜单里,但是这样就多了一个窗口,感觉不简洁了
2012-01-19 16:30
vonandreas
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2012-1-18
收藏
得分:0 
回复 4楼 TonyDeng
刚刚回复完我就想到解决办法了,只需要在那个确定按钮里面加一个让课程名文本框gotfocus的命令就行了,有时候想太复杂了真不好,唉
2012-01-19 16:40
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
這不就是我前面跟你說的解決辦法嗎,我沒理解錯你的目的呀。

顯示成績和績點的表格,是你不希望接收焦點的,那麼可以考慮把它們Enabled=.F.,這樣就絕對不會被進入,那麼你一系列的文本框和按鈕,就按其Tab順序依次接收焦點,不用快捷鍵。如果那些表格在某種情況下要接收焦點,那麼把它們安排在那些文本框和命令按鈕之前或之後,在點擊【確定】按鈕的時候,令下一個你希望的文本框SetFocus,那麼焦點就直接到那個文本框上,跳過了Tab的順序(除非他用鼠標點到表格上)。

授人以渔,不授人以鱼。
2012-01-19 16:45
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
不是GotFocus,是SetFocus。前者是被動發生的事件,只在控件確實得到焦點後發生,後者是方法,是指令該控件得到焦點。

[ 本帖最后由 TonyDeng 于 2012-1-19 17:22 编辑 ]

授人以渔,不授人以鱼。
2012-01-19 16:46
vonandreas
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2012-1-18
收藏
得分:0 
回复 8楼 TonyDeng
对对对,刚才发现错了,是setfocus,衷心谢谢您的帮助。另外也让我发现了这么个程序员的好论坛
2012-01-19 17:54
快速回复:如何令表单中的控件无法成为焦点,就是TAB键切换不到?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011925 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved