窗体的大小随着长或宽的改变而自动按比例调整时出现异常,谢谢

chcpu 2003-10-29 04:13:32
想让窗体的大小随着长或宽的改变而自动按比例调整,即改变长,宽就自动相应改变。可是,如下写代码后,一旦运行,调整窗体大小时,窗体会有改变趋势,但是也马上出现意外的死机现象。郁闷,到底请教该如何实现呢?
相应代码如下:
Private FormOldWidth As Long
'保存窗体的原始宽度
Private FormOldHeight As Long
'保存窗体的原始高度
Private Sub Form_Load()
FormOldWidth = me.Width
FormOldHeight = me.Height
End Sub


Private Sub Form_Resize()
changebili = me.Width / FormOldWidth
'保存窗体宽度缩放比例
If me.Width <> FormOldWidth Then
me.Height = FormOldHeight * changebili
End If
If me.height<> FormOldheight Then
me.width= FormOldwidth * changebili
End If

End Sub
...全文
29 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
chcpu 2003-10-29
  • 打赏
  • 举报
回复
空白窗体果真没问题,控件多了,就不行了,还是谢谢
海牛 2003-10-29
  • 打赏
  • 举报
回复
cuizm(射天狼) 老兄,这次怎么没有看到你的MSDN呀???
射天狼 2003-10-29
  • 打赏
  • 举报
回复
我就是用你的代码试的,没有出现任何异常啊~~
海牛 2003-10-29
  • 打赏
  • 举报
回复
喂!!!
楼上的,什么意思?????
muniu 2003-10-29
  • 打赏
  • 举报
回复
哦啊,这么伟大,呵呵
海牛 2003-10-29
  • 打赏
  • 举报
回复
'我给你重新写一个好了!一个空窗体哦!
Option Explicit

Dim dK As Double
Dim lLastWidth As Long
Dim lLastHeight As Long

Private Sub Form_Load()
dK = Me.Width / Me.Height
End Sub

Private Sub Form_Resize()
If Me.WindowState = 0 Then
If lLastWidth <> Me.Width And lLastHeight <> Me.Height Then
Me.Height = Me.Width / dK
Else
If lLastWidth <> Me.Width Then
Me.Height = Me.Width / dK
Else
Me.Width = dK * Me.Height
End If
End If
lLastWidth = Me.Width
lLastHeight = Me.Height
End If
End Sub

7,789

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧