| 网站首页 | 业界新闻 | 群组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 274 人关注过本帖
标题:窗体变化
只看楼主 加入收藏
cunfu2018
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2018-12-12
结帖率:100%
  已结贴   问题点数:20  回复次数:5   
窗体变化
有一附件,窗体中的控件能够随着窗体变化而变化,但有一点不足:控件间的位置也在变化,即控件与控件之间的间隔也按比例变化了,如何能够实现只让控件随窗体变化而变化,控件间的间隔不变。
附件: 您没有浏览附件的权限,请 登录注册
2018-12-22 00:15
wds1
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:33
帖 子:340
专家分:1797
注 册:2016-3-10
  得分:10 
看了一下你的程序,想要保持固定间距,只要计算出原来间距,窗口调整后重新调整即可。

以下是保持左右间距的简单控制。

Private Sub Form_Resize()
    Call ResizeForm(Me)
    RichTextBox1.Left = TreeView1.Left + TreeView1.Width + 225
    Text1.Left = TreeView1.Left + TreeView1.Width + 225
End Sub
2018-12-22 09:43
cunfu2018
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2018-12-12
  得分:0 
回复 2楼 wds1
谢谢!这种情况我想到过,如果只有几个控件还行(如附件示例),但如果做一个复杂的,这么写太繁锁,有没有可以利用循环实现的,水平和垂直都要考虑。
2018-12-22 16:57
wds1
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:33
帖 子:340
专家分:1797
注 册:2016-3-10
  得分:0 
一般复杂的我都是放到frmae中。

你可以考虑,窗体缩放仅调整对应的frame,每个frame中的控件以自己的frame为基点计算top,left。
2018-12-22 19:46
cunfu2018
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2018-12-12
  得分:0 
回复 4楼 wds1
frmae有所接触但不多,能给个示例吗?学习借鉴
2018-12-22 21:49
ZHRXJR
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:80
帖 子:822
专家分:4333
注 册:2016-5-10
  得分:10 
以下是引用cunfu2018在2018-12-22 16:57:18的发言:

谢谢!这种情况我想到过,如果只有几个控件还行(如附件示例),但如果做一个复杂的,这么写太繁锁,有没有可以利用循环实现的,水平和垂直都要考虑。


感到非常困难,窗体变化根据函数可以使其中控件位置、大小、控件之间的间隔都会发生变化,如果使控件间隔不变化,势必引起窗体大小不适应控件,窗体的高度与宽度, 最右边空余部分太多、最下边空余部分太多,看起来更不舒服。
如果想使得窗体右边与下边适应控件,又会引起控件的变化,从而就会形成一种无限循环,得不偿失。
至于使用其他容器,与窗体是一样的,因为窗体本身就是一种容器,其他容器包括 Frame 容器、Picture 容器等等,都是一样的。
2018-12-23 11:50







关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.032830 second(s), 8 queries.
Copyright©2004-2019, BCCN.NET, All Rights Reserved