以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  最大化问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=78838)

--  作者:ljh29206
--  发布时间:2015/12/18 9:43:00
--  最大化问题
请教 , 我设计的时候 面板大小是 1024*732

有没代码 可以 按最大化的时候根据  桌面 尺寸 对控件进行放大的哇?

--  作者:大红袍
--  发布时间:2015/12/18 9:45:00
--  

AfterLoad事件

 

If e.Form.Width> 0 AndAlso e.Form.height > 0 Then
    vars("width") = e.Form.width
    vars("height") = e.Form.height
End If

 

 

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

--  作者:Z深山老翁
--  发布时间:2015/12/24 17:33:00
--  
老师,我把你给的代码复制过去用了后出现这个了这个提示:.NET Framework 版本:2.0.50727.8670
Foxtable 版本:2015.12.22.1
错误所在事件:窗口,宏阳送货明细表,SizeChanged
详细错误信息:
算术运算导致溢出。

--  作者:大红袍
--  发布时间:2015/12/24 17:37:00
--  

不应该,afterLoad事件的代码你加上了吗?

 

做例子发上来。


--  作者:Z深山老翁
--  发布时间:2015/12/24 18:39:00
--  

afterLoad事件加了

 


--  作者:大红袍
--  发布时间:2015/12/24 18:39:00
--  
上传实例。
--  作者:kaituozhe
--  发布时间:2016/1/26 7:53:00
--  

这个例子中,有一个主窗口,一个独立窗口,我的想法是把主窗口当界面,在主窗口中打开独立窗口,但是换到小窗口电脑的时候就不能全部显示出来了

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目6.foxdb


--  作者:Hyphen
--  发布时间:2016/1/26 8:57:00
--  
不建议使用缩放控件的方式,因为位置和宽高等都是整形的,在计算的时候会有失真。

适当应用容器+布局,根据尺寸显示和隐藏一部分容器

--  作者:ycwk
--  发布时间:2017/11/13 9:53:00
--  
问题1:貌似达到目的了,可是为什么每次切换窗口时会弹个提示出来?  有时候也会出现3楼的错误。



问题2:8楼的怎么实现?




--  作者:有点甜
--  发布时间:2017/11/13 9:58:00
--  

AfterLoad事件

 

If e.Form.Width> 0 AndAlso e.Form.height > 0 Then
    vars("width") = e.Form.width
    vars("height") = e.Form.height
End If

 

 

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
[此贴子已经被作者于2017/11/27 10:55:55编辑过]