Public@H_404_2@ Class@H_404_2@ frmDl@H_404_2@
@H_404_2@Dim@H_404_2@ x As@H_404_2@ Single@H_404_2@ = 0@H_404_2@
@H_404_2@Dim@H_404_2@ y As@H_404_2@ Single@H_404_2@ = 0@H_404_2@
@H_404_2@
@H_404_2@Private@H_404_2@ Sub@H_404_2@ frmDl_Load(ByVal@H_404_2@ sender As@H_404_2@ System.Object,ByVal@H_404_2@ e As@H_404_2@ System.EventArgs) Handles@H_404_2@ MyBase@H_404_2@.Load@H_404_2@
@H_404_2@x = Me@H_404_2@.Width@H_404_2@
@H_404_2@y = Me@H_404_2@.Height@H_404_2@
@H_404_2@@H_404_2@setTag(Me@H_404_2@)@H_404_2@
@H_404_2@End@H_404_2@ Sub@H_404_2@@H_404_2@
@H_404_2@'@H_404_2@@H_404_2@递归取控件的原始大小和位置,用@H_404_2@tag@H_404_2@来纪录@H_404_2@
@H_404_2@@H_404_2@Private@H_404_2@ Sub@H_404_2@ setTag(ByVal@H_404_2@ obj As@H_404_2@ Object@H_404_2@)@H_404_2@
@H_404_2@For@H_404_2@ Each@H_404_2@ con As@H_404_2@ Control In@H_404_2@ obj.Controls@H_404_2@
@H_404_2@con.Tag = con.Width & ":"@H_404_2@ & con.Height & ":"@H_404_2@ & con.Left & ":"@H_404_2@ & con.Top & ":"@H_404_2@ & con.Font.Size@H_404_2@
@H_404_2@@H_404_2@'@H_404_2@如果是容器控件,则递归继续纪录@H_404_2@
@H_404_2@@H_404_2@If@H_404_2@ con.Controls.Count > 0 Then@H_404_2@@H_404_2@
@H_404_2@@H_404_2@End@H_404_2@ If@H_404_2@@H_404_2@
@H_404_2@Next@H_404_2@@H_404_2@
@H_404_2@End@H_404_2@ Sub@H_404_2@@H_404_2@
@H_404_2@'@H_404_2@@H_404_2@递归重新设定控件的大小和位置@H_404_2@
@H_404_2@@H_404_2@Private@H_404_2@ Sub@H_404_2@ setControls(ByVal@H_404_2@ newx As@H_404_2@ Single@H_404_2@,ByVal@H_404_2@ newy As@H_404_2@ Single@H_404_2@,ByVal@H_404_2@ obj As@H_404_2@ Object@H_404_2@)@H_404_2@
@H_404_2@For@H_404_2@ Each@H_404_2@ con As@H_404_2@ Control In@H_404_2@ obj.Controls@H_404_2@
@H_404_2@con.AutoSize = False@H_404_2@@H_404_2@
@H_404_2@Dim@H_404_2@ mytag() As@H_404_2@ String@H_404_2@ = con.Tag.ToString.Split(":"@H_404_2@)@H_404_2@
@H_404_2@con.Width = mytag(0) * newx@H_404_2@
@H_404_2@con.Height = mytag(1) * newy@H_404_2@
@H_404_2@con.Left = mytag(2) * newx@H_404_2@
@H_404_2@con.Top = mytag(3) * newy@H_404_2@
@H_404_2@@H_404_2@'@H_404_2@计算字体缩放比例,缩放字体@H_404_2@
@H_404_2@@H_404_2@Dim@H_404_2@ currentSize As@H_404_2@ Single@H_404_2@ = (mytag(1) * newy * mytag(4)) / mytag(1)@H_404_2@
@H_404_2@con.Font = New@H_404_2@ Font(con.Font.Name,currentSize,_@H_404_2@
@H_404_2@con.Font.Style,con.Font.Unit)@H_404_2@
@H_404_2@@H_404_2@'@H_404_2@如果是容器控件,则递归继续缩放@H_404_2@
@H_404_2@@H_404_2@If@H_404_2@ con.Controls.Count > 0 Then@H_404_2@@H_404_2@
@H_404_2@setControls(newx,newy,con)@H_404_2@
@H_404_2@End@H_404_2@ If@H_404_2@@H_404_2@
@H_404_2@Next@H_404_2@@H_404_2@
@H_404_2@End@H_404_2@ Sub@H_404_2@@H_404_2@
@H_404_2@
@H_404_2@Private@H_404_2@ Sub@H_404_2@ frmDl_Resize(ByVal@H_404_2@ sender As@H_404_2@ Object@H_404_2@,ByVal@H_404_2@ e As@H_404_2@ System.EventArgs) Handles@H_404_2@ Me@H_404_2@.Resize@H_404_2@
@H_404_2@@H_404_2@'@H_404_2@得到现在窗体的大小,然后根据原始大小计算缩放比例@H_404_2@
@H_404_2@@H_404_2@Dim@H_404_2@ newx As@H_404_2@ Single@H_404_2@ = Me@H_404_2@.Width / x@H_404_2@
@H_404_2@Dim@H_404_2@ newy As@H_404_2@ Single@H_404_2@ = Me@H_404_2@.Height / y@H_404_2@
@H_404_2@setControls(newx,Me@H_404_2@)@H_404_2@