Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

窗体大小

强  发表于:2010-06-19 10:45:47  
复制

如附件,在主窗体最大化时,打开另一个不是最大化的窗体A,窗体A也会跟着最大化,当再退出窗体A,返回主窗体时,主窗体又跟着窗体A变成不是最大化。怎样才能保持各自窗体的设计?

 

 

另,如果窗体A,不管他是否最大化,但其子窗体也应跟着大小而变,怎样才能做到?

 

点击下载此附件

 

Top
赵文斌 发表于:2010-06-19 11:26:57

docmd.Restore   

另有些窗体可以设置属性(弹出方式以及模式)

Restore 操作

使用 Restore 操作可将已最大化或最小化的窗口恢复为原来的大小。

注释  该操作不能应用于“Visual Basic 编辑器”中的代码窗口。有关如何影响代码窗口的信息,请参阅 WindowState 属性主题。

设置

Restore 操作没有任何参数。

说明

该操作可用于所选对象。如果某对象已经最小化,可先用 SelectObject 操作选择该对象,再用 Restore 方法将它恢复为原来的大小。

窗口恢复为原来大小后可使用 MoveSize 操作移动该窗口或调整该窗口的大小。

Restore 操作的效果和单击窗口右上角的“还原”按钮或选择窗口“控制”菜单上的“还原”命令是一样的。

若要在 Visual Basic 中运行 Restore 操作,可使用 DoCmd 对象的 Restore 方法。



朱维强 发表于:2010-06-19 13:56:17

如果在窗体A加载事件中加入docmd.Restore,会把主窗体也同时还原,因为主窗体是要控制成最大化的。不能达到想要的效果。我想要的效果就是,要最大化的窗体最大化,保持原来大小就不能最大化,如例,把窗体A设成弹出“是”,就可以达到保持原来大小,退出不影响主窗体,是弹出不是想要的效果,因为弹出有其他限制。



殷小宝  发表于:2010-10-26 23:13:54

你就不能放在主窗体的加载事件里,放在窗体的当前事件里:

private sub form_current()

docmd.Restore

end sub



马山杨梅 发表于:2010-10-27 09:22:05

这个问题以前我也有些烦恼。但后来我找到解决的办法了。我的做法是:

在要最大化的窗体的激活事件中放入 DoCmd.Maximize '最大化窗口

在要收复的窗体的激活事件中放入  DoCmd.Restore '收缩窗口
特别强调的一点就是代码需要放在该窗体的激活事件中,而不要放在其它事件中。根据每个窗体的需要,每个窗体的激活事件中放一个,当然了子窗体不要。

示例:

Private Sub Form_Activate()
    DoCmd.Restore '收缩窗口
End Sub



小趙 发表于:2010-10-27 09:27:32

同意樓上所說的方法,學習



马山杨梅 发表于:2010-10-27 09:35:45

送佛送到西,我干脆把这个代码加进楼主的简例中展示一下,好让大伙看个清楚。

点击下载此附件

总记录:6篇  页次:1/1 9 1 :