以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助] 自适应窗口出现算术溢出,怎么解决 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=89385) |
||||
-- 作者:wangyinming -- 发布时间:2016/8/20 15:23:00 -- [求助] 自适应窗口出现算术溢出,怎么解决 各位设置了自适应窗口,再最小化到最大化出现算术溢出,怎么解决? 此主题相关图片如下:捕获.png
|
||||
-- 作者:Hyphen -- 发布时间:2016/8/20 15:42:00 -- 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
|
||||
-- 作者:wangyinming -- 发布时间:2016/8/20 16:04:00 -- 谢谢,请问调整窗口时可以不闪吗 |
||||
-- 作者:Hyphen -- 发布时间:2016/8/20 16:16:00 -- 没有办法。而且不建议做这种调整,多了就会失真。 |
||||
-- 作者:wangyinming -- 发布时间:2016/8/20 16:17:00 -- 谢谢, |
||||
-- 作者:Hyphen -- 发布时间:2016/8/20 16:18:00 -- 这样效果好点 If e.Form.Width > 0 AndAlso e.Form.Height > 0 Then e.Form.StopRedraw 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 e.Form.ResumeRedraw End If |
||||
-- 作者:xxfoxtable -- 发布时间:2018/4/28 22:24:00 -- 我是这样加的代码,还是提示算术溢出,怎么办呢? |
||||
-- 作者:有点蓝 -- 发布时间:2018/4/29 9:04:00 -- 上传实例测试。 另外不建议做这种自适应。应该通过容器、停靠、锚定、滚动等等设置
|