首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

vb 多个窗体的焦点有关问题

2013-11-21 
vb 多个窗体的焦点问题在MDI父窗体中创建了多个子窗体,窗体上有各种控件,当这些窗体打开很多的时候会重叠,

vb 多个窗体的焦点问题
在MDI父窗体中创建了多个子窗体,窗体上有各种控件,当这些窗体打开很多的时候会重叠,问题来了,现在只有点击窗体的标题栏才会切换那个窗体上, 我想要的效果是无论点击窗体的哪个位置都让那个窗体获得焦点,或者让那个窗体显示在最前边,这个该如何设置啊?
[解决办法]
 
KeyPreview 属性
      

返回或设置一个值,以决定是否在控件的键盘事件之前激活窗体的键盘事件。键盘事件为:KeyDown、KeyUp 和 KeyPress。

语法

object.KeyPreview [= boolean]

KeyPreview 属性语法有以下组成部分:

部分 描述 
Object 对象表达式,其值是“应用于”列表中的一个对象。 
Boolean 布尔表达式,指定如何接收事件。Setting 中有其说明。 


设置值

 boolean 的设置值为:

设置值 描述 
True 窗体先接收键盘事件,然后是活动控件接收事件。 
False (缺省值)活动控件接收键盘事件,而窗体不接收。 


说明

可以用该属性,生成窗体的键盘处理程序,例如,应用程序利用功能键时,需要在窗体级处理击键,而不是为每个可以接收击键事件的控件编写程序。

如果窗体中没有可见和有效的控件,它将自动接收所有键盘事件。

若要在窗体级处理键盘事件、而不允许控件接收键盘事件时,在窗体的 KeyPress 事件中设置 KeyAscii 为 0,在窗体的 KeyDown 事件中设置 KeyCode 为 0。

 注意 一些控件能够拦截键盘事件,以致窗体不能接收它们。这样的例子有:CommandButton 控件有焦点时的 ENTER 键、以及焦点在 ListBox 控件上时的方向键。

[解决办法]
检查下你有没有调用不良的第三方控件,或者自行编写了什么代码造成的。

因为按道理来说不会出现你说的问题。

热点排行