| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 597 人关注过本帖
标题:[求助]关于窗体的问题
只看楼主 加入收藏
abc5566
Rank: 1
等 级:新手上路
帖 子:201
专家分:0
注 册:2007-9-15
结帖率:100%
收藏
 问题点数:0 回复次数:8 
[求助]关于窗体的问题
请问各位大侠,如何才能让窗体中的控件位置跟着窗体改变而改变
搜索更多相关主题的帖子: 窗体 
2007-10-02 23:22
缘吇弹
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:地球
等 级:版主
威 望:43
帖 子:3038
专家分:27
注 册:2007-7-2
收藏
得分:0 
你是说其大小吧

Repeat  Life=Study;Until (death);
2007-10-02 23:23
缘吇弹
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:地球
等 级:版主
威 望:43
帖 子:3038
专家分:27
注 册:2007-7-2
收藏
得分:0 
用个定时器吧

Repeat  Life=Study;Until (death);
2007-10-02 23:24
刨子头
Rank: 1
等 级:新手上路
威 望:1
帖 子:319
专家分:0
注 册:2007-9-24
收藏
得分:0 
在窗体的Resize()中编写代码
Private Sub Form_Resize()
On Error Resume Next
If frmJianYBF.WindowState = 1 Then Exit Sub
'以下编写代码,当窗体调整时会调整控件尺寸
‘如:
DataGrid1.Width = Me.ScaleWidth - 40
DataGrid1.Height = Me.Height - 5500
End Sub
2007-10-02 23:29
multiple1902
Rank: 8Rank: 8
等 级:贵宾
威 望:42
帖 子:4881
专家分:671
注 册:2007-2-9
收藏
得分:0 
我的思路是利用控件的Tag属性保存初始大小数据(Load事件中)
然后在Resize中For Each itemx in Form1 修改大小。
2007-10-03 12:04
abc5566
Rank: 1
等 级:新手上路
帖 子:201
专家分:0
注 册:2007-9-15
收藏
得分:0 
谢谢拉
2007-10-03 17:10
浅色的回忆
Rank: 1
等 级:新手上路
帖 子:139
专家分:0
注 册:2007-6-24
收藏
得分:0 
两种办法都可以.

2007-10-03 19:45
思考
Rank: 1
等 级:新手上路
威 望:1
帖 子:66
专家分:0
注 册:2007-9-29
收藏
得分:0 

给你个我写的代码,变量定义的是拼音+英文,不许笑
Option Explicit
Dim ZiShiYing_T(), ZiShiYing_L(), ZiShiYing_H(), ZiShiYing_W(), ZiShiYing_N%

Private Sub Form_Load()
Dim mcontrol As Object
On Error Resume Next
ZiShiYing_N = 0
For Each mcontrol In Me.Controls
If Not (TypeOf mcontrol Is Menu) Then
ZiShiYing_N = ZiShiYing_N + 1
ReDim Preserve ZiShiYing_T(ZiShiYing_N)
ReDim Preserve ZiShiYing_L(ZiShiYing_N)
ReDim Preserve ZiShiYing_H(ZiShiYing_N)
ReDim Preserve ZiShiYing_W(ZiShiYing_N)
ZiShiYing_T(ZiShiYing_N) = mcontrol.Top / ScaleHeight
ZiShiYing_L(ZiShiYing_N) = mcontrol.Left / ScaleWidth
ZiShiYing_H(ZiShiYing_N) = mcontrol.Height / ScaleHeight
ZiShiYing_W(ZiShiYing_N) = mcontrol.Width / ScaleWidth
End If
Next
On Error GoTo 0
End Sub
Private Sub Form_Resize()
Dim mcontrol As Object
On Error Resume Next
ZiShiYing_N = 0
For Each mcontrol In Me.Controls
If Not (TypeOf mcontrol Is Menu) Then
ZiShiYing_N = ZiShiYing_N + 1
mcontrol.Top = ZiShiYing_T(ZiShiYing_N) * ScaleHeight
mcontrol.Left = ZiShiYing_L(ZiShiYing_N) * ScaleWidth
mcontrol.Height = ZiShiYing_H(ZiShiYing_N) * ScaleHeight
mcontrol.Width = ZiShiYing_W(ZiShiYing_N) * ScaleWidth
End If
Next
On Error GoTo 0
End Sub

2007-10-04 10:29
multiple1902
Rank: 8Rank: 8
等 级:贵宾
威 望:42
帖 子:4881
专家分:671
注 册:2007-2-9
收藏
得分:0 
嗯对的,要On Error一下的。
2007-10-04 11:19
快速回复:[求助]关于窗体的问题
数据加载中...
 
   



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

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