我给界面添加了一个Resize事件,为了让控件随界面等比缩放,但是当我拖放界面后,控件全部消失了,这是什么原因???
代码如下,代码很简单,在form上添加了3个button,我只是测试一下Resize的功能,但是有问题,求教
public partial class Form1 : Form
{
private List<double> dPresentW = new List<double>();
private List<double> dPresentH = new List<double>();
private List<double> dPresentT = new List<double>();
private List<double> dPresentL = new List<double>(); public Form1()
{
InitializeComponent();
foreach (Control ctl in this.Controls)
{
dPresentW.Add((double)ctl.Width / (double)Width);
dPresentH.Add((double)ctl.Height / (double)Height);
dPresentT.Add((double)ctl.Top / (double)Top);
dPresentL.Add((double)ctl.Left / (double)Left);
}
} private void Form1_Resize(object sender, EventArgs e)
{
int count = Controls.Count;
for (int i = 0; i < count; ++i)
{
Controls[i].Width = (int)(dPresentW[i] * Width);
Controls[i].Height = (int)(dPresentH[i] * Height);
Controls[i].Top = (int)(dPresentT[i] * Top);
Controls[i].Left = (int)(dPresentL[i] * Left);
}
} }
代码如下,代码很简单,在form上添加了3个button,我只是测试一下Resize的功能,但是有问题,求教
public partial class Form1 : Form
{
private List<double> dPresentW = new List<double>();
private List<double> dPresentH = new List<double>();
private List<double> dPresentT = new List<double>();
private List<double> dPresentL = new List<double>(); public Form1()
{
InitializeComponent();
foreach (Control ctl in this.Controls)
{
dPresentW.Add((double)ctl.Width / (double)Width);
dPresentH.Add((double)ctl.Height / (double)Height);
dPresentT.Add((double)ctl.Top / (double)Top);
dPresentL.Add((double)ctl.Left / (double)Left);
}
} private void Form1_Resize(object sender, EventArgs e)
{
int count = Controls.Count;
for (int i = 0; i < count; ++i)
{
Controls[i].Width = (int)(dPresentW[i] * Width);
Controls[i].Height = (int)(dPresentH[i] * Height);
Controls[i].Top = (int)(dPresentT[i] * Top);
Controls[i].Left = (int)(dPresentL[i] * Left);
}
} }
用控件的Anchor属性