以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  窗体最小化的时候,算术运算错误  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=84973)

--  作者:scofields
--  发布时间:2016/5/14 11:22:00
--  窗体最小化的时候,算术运算错误
狐爸爸,在窗体最小化的时候,显示算术运算错误,这可怎么处理,这个问题燥了我一个星期
--  作者:scofields
--  发布时间:2016/5/14 11:24:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看

--  作者:Hyphen
--  发布时间:2016/5/14 11:32:00
--  
贴出代码,或者上传实例
--  作者:scofields
--  发布时间:2016/5/14 11:39:00
--  

这是红袍老师给出的代码,上次和他论坛里讨论了很久,可就是没个解决的办法,红袍老师说他测试没问题

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
vars("width") = e.Form.width
vars("height") = e.Form.height


--  作者:scofields
--  发布时间:2016/5/14 12:36:00
--  回复:(Hyphen)贴出代码,或者上传实例
老师,这个问题怎么解决啊?我好烦啊!
--  作者:Hyphen
--  发布时间:2016/5/14 14:22: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
End If
vars("width") = e.Form.width
vars("height") = e.Form.height

--  作者:scofields
--  发布时间:2016/5/14 17:18:00
--  回复:(Hyphen)是不是用在停靠窗口了,加上判断试试...
没有啊!我用的窗口是主窗口,加上判断,还是不行
--  作者:Hyphen
--  发布时间:2016/5/14 17:29:00
--  
主窗口测试没有任何问题,上传例子
--  作者:scofields
--  发布时间:2016/5/14 17:57:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1 (1).table


--  作者:Hyphen
--  发布时间:2016/5/15 13:23:00
--