Foxtable(狐表)用户栏目专家坐堂 → [求助]窗口控件停靠


  共有1388人关注过本帖树形打印复制链接

主题:[求助]窗口控件停靠

帅哥哟,离线,有人找我吗?
zcgmxf
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1629 积分:14390 威望:0 精华:0 注册:2014/6/6 8:42:00
[求助]窗口控件停靠  发帖心情 Post By:2017/1/12 17:27:00 [只看该作者]

老师,我将论坛中的代码

 

If e.Form.Width> 0 AndAlso e.Form.height > 0 Then
    vars("width") = e.Form.width
    vars("height") = e.Form.height
End If
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
    vars("width") = e.Form.width
    vars("height") = e.Form.height
     e.Form.ResumeRedraw
End If

 

改成:(主窗口)

Dim pl As WinForm.Panel = e.Form.Controls("Panel1")
If pl.Width> 0 AndAlso pl.height > 0 Then
    vars("width") = e.Form.width
    vars("height") = 50
End If

 

Dim pl As WinForm.Panel = e.Form.Controls("Panel1")
If pl.width > 0 AndAlso pl.height > 0 Then
    e.Form.StopRedraw  
    For Each c As Winform.Control In pl.Children
        c.Left = c.Left * (pl.Width / vars("width"))
        c.Top = c.Top * (pl.Height / vars("height"))
        c.Width = c.Width * (pl.Width / vars("width"))
        c.Height = c.Height * (pl.Height / vars("height"))
    Next
    vars("width") = pl.width
    vars("height") = pl.height
     e.Form.ResumeRedraw
End If

打开项目后窗口和控件都很正常,但是最小化后再最大化,面板中的控件就没了。

 


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


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

 

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

 

 

但是,从窗口设计界面点击“应用窗口”后再最小化最大化又没有问题。不知道什么原因。

 


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

 

 

 

 

 


 


图片点击可在新窗口打开查看此主题相关图片如下:qq图片20170105.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2017/1/12 17:29:54编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/1/12 17:29:00 [只看该作者]

 这句,不能改

 

If e.Form.Width> 0 AndAlso e.Form.height > 0 Then


 回到顶部
帅哥哟,离线,有人找我吗?
zcgmxf
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1629 积分:14390 威望:0 精华:0 注册:2014/6/6 8:42:00
  发帖心情 Post By:2017/1/12 17:33:00 [只看该作者]

老师,那句我改回来试过的,还是不行哦。

 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/1/12 17:33:00 [只看该作者]

 做个例子发上来。

 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/1/12 17:39:00 [只看该作者]

 上传例子说明,你为什么要改,或者说你要做什么效果。


 回到顶部