47 lines
1.6 KiB
C#
47 lines
1.6 KiB
C#
using System;
|
|
using System.Drawing;
|
|
using System.Windows.Forms;
|
|
|
|
namespace HL_FristAidPlatform_Public
|
|
{
|
|
public static class FormAutoSize
|
|
{
|
|
public static float X = 0;
|
|
public static float Y = 0;
|
|
|
|
public static void setTag(Control cons)
|
|
{
|
|
foreach (Control con in cons.Controls)
|
|
{
|
|
con.Tag = con.Width + ":" + con.Height + ":" + con.Left + ":" + con.Top + ":" + con.Font.Size;
|
|
if (con.Controls.Count > 0)
|
|
setTag(con);
|
|
}
|
|
}
|
|
|
|
public static void setControls(float newx, float newy, Control cons)
|
|
{
|
|
foreach (Control con in cons.Controls)
|
|
{
|
|
if (con.Tag != null)
|
|
{
|
|
string[] mytag = con.Tag.ToString().Split(new char[] { ':' });
|
|
float a = Convert.ToSingle(mytag[0]) * newx;
|
|
con.Width = (int)a;
|
|
a = Convert.ToSingle(mytag[1]) * newy;
|
|
con.Height = (int)(a);
|
|
a = Convert.ToSingle(mytag[2]) * newx;
|
|
con.Left = (int)(a);
|
|
a = Convert.ToSingle(mytag[3]) * newy;
|
|
con.Top = (int)(a);
|
|
Single currentSize = Convert.ToSingle(mytag[4]) * Math.Min(newx, newy);
|
|
con.Font = new Font(con.Font.Name, currentSize, con.Font.Style, con.Font.Unit);
|
|
if (con.Controls.Count > 0)
|
|
{
|
|
setControls(newx, newy, con);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} |