博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
vb.net 控件(包括字体)随窗体按比例缩放
阅读量:5766 次
发布时间:2019-06-18

本文共 1359 字,大约阅读时间需要 4 分钟。

Public Class frmDl

Dim x As Single = 0

Dim y As Single = 0

Private Sub frmDl_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

x = Me.Width

y = Me.Height

setTag(Me)

End Sub

'递归取控件的原始大小和位置,用tag来纪录

Private Sub setTag(ByVal obj As Object)

For Each con As Control In obj.Controls

con.Tag = con.Width & ":" & con.Height & ":" & con.Left & ":" & con.Top & ":" & con.Font.Size

'如果是容器控件,则递归继续纪录

If con.Controls.Count > 0 Then

setTag(con)

End If

Next

End Sub

'递归重新设定控件的大小和位置

Private Sub setControls(ByVal newx As Single, ByVal newy As Single, ByVal obj As Object)

For Each con As Control In obj.Controls

con.AutoSize = False

Dim mytag() As String = con.Tag.ToString.Split(":")

con.Width = mytag(0) * newx

con.Height = mytag(1) * newy

con.Left = mytag(2) * newx

con.Top = mytag(3) * newy

'计算字体缩放比例,缩放字体

Dim currentSize As Single = (mytag(1) * newy * mytag(4)) / mytag(1)

con.Font = New Font(con.Font.Name, currentSize, _

con.Font.Style, con.Font.Unit)

'如果是容器控件,则递归继续缩放

If con.Controls.Count > 0 Then

setControls(newx, newy, con)

End If

Next

End Sub

Private Sub frmDl_Resize(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Resize

'得到现在窗体的大小,然后根据原始大小计算缩放比例

Dim newx As Single = Me.Width / x

Dim newy As Single = Me.Height / y

setControls(newx, newy, Me)

End Sub

End Class

转载于:https://www.cnblogs.com/QUSIR/p/3883816.html

你可能感兴趣的文章
F#初学笔记05
查看>>
我的友情链接
查看>>
哈佛的学生是怎样学习的?
查看>>
SwingUtilities.InvokeLater
查看>>
Notes: harddisk performance testing
查看>>
node.js简单的连表查询
查看>>
ORA-28547:连接服务器失败,可能是Net8管理错误----解决方法
查看>>
Dell R710服务器配置远程控制卡
查看>>
xargs实例用法
查看>>
Mongodb mapreduce
查看>>
hive sql需要注意的地方(持续更新)
查看>>
SpringFramework之HandlerInterceptor
查看>>
vue-cli教程(二) 路由
查看>>
DataGirdView 增删改查(二)
查看>>
ReadLock等类里面的重要方法的实现
查看>>
深入浅出Zabbix 3.0 -- 第九章 数据可视化
查看>>
Andriod Studio Gradle 学习记录
查看>>
我的友情链接
查看>>
How to Configure a Relay Connector for Exchange Server 2010
查看>>
投资扩张不顺利,让京东深感乏力,下一步并购扩张?
查看>>