以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 窗口自适应屏幕大小 的问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=146818) |
|
-- 作者:阿健 -- 发布时间:2020/3/3 10:59:00 -- 窗口自适应屏幕大小 的问题 各位老师好! 为了让窗口自适应各种不同大小的屏幕,写了两端代码,窗口类型也设置成独立或者模式,自动滚开也是TRUE,为什么不起作用? 代码如下: Afterload事件 vars("width") = e.Form.width vars("height") = e.Form.height SizeChanged事件 For Each c As Winform.Control In e.Form.Controls c.Left = c.Left * (e.Form.Width / vars("width")) c.Top = c.Top * (e.Form.Height / vars("height")) c.Width = c.Width * (e.Form.Width / vars("width")) c.Height = c.Height * (e.Form.Height / vars("height")) Next msgbox(e.Form.Height / vars("height")) vars("width") = e.Form.width vars("height") = e.Form.height |
|
-- 作者:2900819580 -- 发布时间:2020/3/3 11:03:00 -- vars("width") = e.Form.baseform.width
这里好像要这样改,你试试
|
|
-- 作者:阿健 -- 发布时间:2020/3/3 11:15:00 -- 谢谢!试了,窗口还是没变化 |
|
-- 作者:2900819580 -- 发布时间:2020/3/3 11:27:00 -- 如果只是适应屏幕
Afterload事件
|
|
-- 作者:有点蓝 -- 发布时间:2020/3/3 13:05:00 -- 工具栏无法控制,仅对常规控件有效 AfterLoad事件
If e.Form.Width> 0 AndAlso e.Form.height > 0 Then
SizeChanged事件
If e.Form.Width > 0 AndAlso e.Form.Height > 0 Then For Each c As Winform.Control In e.Form.Controls c.Left = c.Left * (e.Form.Width / vars("width")) c.Top = c.Top * (e.Form.Height / vars("height")) c.Width = c.Width * (e.Form.Width / vars("width")) c.Height = c.Height * (e.Form.Height / vars("height")) Next \'msgbox(e.Form.Height / vars("height")) vars("width") = e.Form.width vars("height") = e.Form.height End If |
|
-- 作者:阿健 -- 发布时间:2020/3/3 13:18:00 -- [此贴子已经被作者于2020/3/3 13:24:32编辑过]
|
|
-- 作者:阿健 -- 发布时间:2020/3/3 13:21:00 -- [此贴子已经被作者于2020/3/3 13:23:54编辑过]
|
|
-- 作者:阿健 -- 发布时间:2020/3/3 13:23:00 -- 谢谢2900819580和有点蓝二位老师,主窗口适应屏幕大小的问题解决啦!谢谢 [此贴子已经被作者于2020/3/3 13:39:22编辑过]
|