怎样让对话框上的控件随对话框调整大小?

来源:百度知道 编辑:UC知道 时间:2024/05/22 01:09:11
一个可调整大小的对话框,上有若干控件。想要在对话框改变大小的时候,让上面的控件同时调整大小适应对话框的大小变化。

获得原窗口大小;
获得控件大小;
CWnd::OnSize(nType, cx, cy);
获得新窗口大小。
比较变化值,控.movewindow(,,..)

我要C#的具体代码,谁给我写下C#具体代码,O(∩_∩)O~

大哥,代码如下:
//控件随窗体自动缩放
string[] tmp = new string[2];

tmp = ((Form)sender).Tag.ToString().Split(',');

float width = (float)((Form)sender).Width / (float)Convert.ToInt16(tmp[0]);
float heigth = (float)((Form)sender).Height / (float)Convert.ToInt16(tmp[1]);

((Form)sender).Tag = ((Form)sender).Width.ToString() + "," + ((Form)sender).Height;

foreach (Control control in ((Form)sender).Controls)
{
control.Scale(new SizeF(width, heigth));
}

使用该代码注意事项:1,此段代码基本通用。2,此段代码写在窗体的加载事件中。3,若窗体需要缩小,请再写在窗体的SizeChanged事件中。4,若还不懂百度Hi直接联系本人。5,大哥,我手都敲累了,再加点分吧~~

winForms控件都继承了control 的 dock ,anchor 属性。 通过这个 和 anchor(控件停靠位置) 和 dock(填充范围)可以设置 布局。