以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  由于显示器分辨率低, 项目中的窗口不能完全显示  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=99786)

--  作者:dyzkdxy
--  发布时间:2017/4/26 18:25:00
--  由于显示器分辨率低, 项目中的窗口不能完全显示
项目开发用的电脑显示器分辨率较高,在低分辨率的老式电脑上使用时,窗口内容显示不全,没有显示右上角的关闭按钮“X”,导致不能关闭窗口,无法操作其他内容。如何解决?谢谢!
--  作者:有点色
--  发布时间:2017/4/26 18:30:00
--  

 方法一:用1024*768的分辨率设计你的窗口;

 

 方法二:用自适应 http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=78838&skin=0


--  作者:dyzkdxy
--  发布时间:2017/4/26 20:21:00
--  

有点色老师:

    方法1:由于我的项目工作量太大,现有窗口50多个,全部按1024*768分辨率重新设计,不可取。况且我设计的窗口内容很多,分辨率不能设计得太小。

    方法2:还是同样象原楼主出现“算术运算导致溢出”的错误!并且有的控件缩放了,还有的没有,界面都乱了。


--  作者:dyzkdxy
--  发布时间:2017/4/26 20:30:00
--  
有点色老师:窗口在不同分辨率的电脑上显示不全不要紧,能不能通过滑动条显示整个窗口的内容,如果能这样的话,至少项目在分辨率低的老式电脑上还能使用,只是用起来不大方便罢了。
--  作者:有点色
--  发布时间:2017/4/27 0:33:00
--  
以下是引用dyzkdxy在2017/4/26 20:30:00的发言:
有点色老师:窗口在不同分辨率的电脑上显示不全不要紧,能不能通过滑动条显示整个窗口的内容,如果能这样的话,至少项目在分辨率低的老式电脑上还能使用,只是用起来不大方便罢了。

 

可以的,AfterLoad事件加入代码 e.form.panel.AutoScroll = true


--  作者:有点蓝
--  发布时间:2017/4/27 8:28:00
--  
以下是引用dyzkdxy在2017/4/26 20:21:00的发言:

有点色老师:

    方法2:还是同样象原楼主出现“算术运算导致溢出”的错误!并且有的控件缩放了,还有的没有,界面都乱了。


加多一个判断
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
    vars("width") = e.Form.width
    vars("height") = e.Form.height
End If

--  作者:有点蓝
--  发布时间:2017/4/27 8:30:00
--  
建议适当使用容器进行布局,设置容器的扩展尺寸,毕竟缩放会有失真