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

*百分询问* MDIFORM的窗口切换有关问题

2012-01-18 
**百分询问** MDIFORM的窗口切换问题我程序里有一个MDIFORM和多个FORM,现在需要,能在多个FORM之间任意切换

**百分询问** MDIFORM的窗口切换问题
我程序里有一个MDIFORM和多个FORM,现在需要,能在多个FORM之间任意切换,且每次切换时,焦点必定位于TABINDEX=0的那个控件上。
          问题:
          1   在Form.show以后,我手动将那个TABINDEX=0的控件SetFocus的话,偶尔会出现“实时错误5   无效的过程调用或参数”,因为,可能那个控件还没有装载。
          2   我不用SetFocus的话,则第一次用Form.show显示窗体时,会正常按照要求运行。而再次切换时,FORM已经在内存中,则用Form.show不会将此FORM置于MDIFORM的最前端。

[解决办法]
試試在每個子窗體中加入以下代碼,
Private Sub Form_Activate()
Text1.SetFocus '替換為你要的
End Sub

[解决办法]
问题2.默认属性情况下不会吧?
[解决办法]
1.在form_active里加入得到焦点的代码
2.form.show
form.zorder 0
[解决办法]
去掉 文本框控件获得焦点的语句。将文本框的tabindex值设为0
[解决办法]
frm3.Show
frm.Visible = True
frm3.TxtSelect.SetFocus

[解决办法]
楼主可以试试在窗体再次 show 方法后 加上 ZOrder 方法,让如
Form2.Show
Form2.ZOrder 0
经过测试可以将窗体移动到最前端显示

ZOrder 方法
将指定的 MDIForm,Form 或控件放置在其图层的z-顺序的前端或后端。
[解决办法]
杰西 的方法应该不错,帮顶;
另外窗体切换,我采用的都是有一个专门的菜单+子菜单方式用于切换窗体,
方法简单易行!

热点排行