网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 大学论文导航 设计下载 最新论文 下载排行 原创论文 论文源代码
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > ASP.net > 正文

控件自动随窗体变化大小

来源:http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 14/02/25

文章导读:在新的一年中,各位网友都进入紧张的学习或是工作阶段。网学的各位小编整理了ASP.net-控件自动随窗体变化大小的相关内容供大家参考,祝大家在新的一年里工作和学习顺利!

在开发中,往往开发人员需要控制控件大小适应窗口的大小,使得软件在不同的分辨率下也显得比例协调.
那么,怎么才能让窗体中控件自动随窗体变化大小呢?

我觉得有一种原始方法很有用,不让窗体可以最大化:比如飞天餐饮软件.......

当然这种方法是绕道而行.开发出来的软件肯定好看不了.
好了,让我们来引出下面这个很有用,比较专业的Model吧.
--------------------------------------------------------------------------------
Option Explicit
Private FormOldWidth As Long
''保存窗体的原始宽度
Private FormOldHeight As Long
''保存窗体的原始高度

''在调用ResizeForm前先调用本函数
Public Sub ResizeInit(FormName As Form)
Dim Obj As Control
FormOldWidth = FormName.ScaleWidth
FormOldHeight = FormName.ScaleHeight
On Error Resume Next
For Each Obj In FormName
Obj.Tag = Obj.Left & " " & Obj.Top & " " & Obj.Width & " " & Obj.Height & " "
Next Obj
On Error GoTo 0
End Sub

''按比例改变表单内各元件的大小,在调用ReSizeForm前先调用ReSizeInit函数
Public Sub ResizeForm(FormName As Form)
Dim Pos(4) As Double
Dim i As Long, TempPos As Long, StartPos As Long
Dim Obj As Control
Dim ScaleX As Double, ScaleY As Double

ScaleX = FormName.ScaleWidth / FormOldWidth
''保存窗体宽度缩放比例
ScaleY = FormName.ScaleHeight / FormOldHeight
''保存窗体高度缩放比例
On Error Resume Next
For Each Obj In FormName
StartPos = 1
For i = 0 To 4
''读取控件的原始位置与大小
TempPos = InStr(StartPos, Obj.Tag, " ", vbTextCompare)
If TempPos > 0 Then
Pos(i) = Mid(Obj.Tag, StartPos, TempPos - StartPos)
StartPos = TempPos + 1
Else
Pos(i) = 0
End If
''根据控件的原始位置及窗体改变大小的比例对控件重新定位与改变大小
Obj.Move Pos(0) * ScaleX, Pos(1) * ScaleY, Pos(2) * ScaleX, Pos(3) * ScaleY
Next i
Next Obj
On Error GoTo 0
End Sub

''开发软件时候,把这个modal装入程序中.然后加入如下代码:
Private Sub Form_Load()
Call ResizeInit(Me) ''在程序装入时必须加入
End Sub

Private Sub Form_Resize()
Call ResizeForm(Me) ''确保窗体改变时控件随之改变
End Sub
--------------------------------------------------------------------------------

  • 上一篇资讯: ListBox控件基本功能
  • 网学推荐

    免费论文

    原创论文

    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号