登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

面包会有的

... ...

 
 
 

日志

 
 

2007年8月30日  

2007-08-30 21:05:47|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

我们在设计窗体时,放置了一些可视的控件,比如Label,CommandButton,TextBox等等.当然在设计时大小位置都比较协调,但是一旦到了运行时,用户改变了窗体的大小,而我们的控件却不随着窗体大小的改变而改变,特别是用户最大化窗体时,经常出现许多控件仍然挤在窗体左上角的现象,看着很不舒服......

那么,现在,如何来解决这个问题呢?

当然是捕捉Form的Resize&&事件!

下面是具体的代码:
'下面两句话放在Form的"通用"中声明
dim FrmW as single '存放改变前的窗体的宽度
dim frmH as single '存放改变前的窗体的高度

Private Sub Form_Load()
if windowstate <>vbMinimized then
FrmW=me.Width
FrmH=me.Height
'上面两句是初始化模块变量
end if
End Sub

Private Sub Form_Resize()
if FrmW=0 or FrmH=0 then exit sub

dim MyCon as me.Controls
dim sig1 as single,sig2 as single
sig1 = Me.Width / FrmW
sig2 = Me.Height / FrmH
For Each MyCon In Me.Controls
If TypeOf MyCon Is Label Or _
TypeOf MyCon Is CommandButton Or _
TypeOf MyCon Is ListView Or _
TypeOf MyCon Is TextBox Then
With MyCon
.Left = Int(.Left * sig1)
.Top = Int(.Top * sig2)
.Width = Int(.Width * sig1)
.Height = Int(.Height * sig2)
End With
End If
Next MyCon

FrmW = Me.Width
FrmH = Me.Height

End Sub

我上述的代码中用到了四个可视的控件:Label,CommandButton,ListView,TextBox,根据你窗体的具体情况,你可以自动的增加你所用到的可视控件.

如果,你把上述代码加到你的窗体代码中,你会发现改变了窗体大小后,窗体上的可视控件的大小和位置也会相应的变化 。

  评论这张
 
阅读(416)| 评论(0)

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018