Winform窗体各个控件自适应电脑屏幕
2017-03-09 12:42
309 查看
private Size beforeResizeSize = Size.Empty;
protectedoverridevoid OnResizeBegin(EventArgs e)
{
base.OnResizeBegin(e);
beforeResizeSize =this.Size;
}
protectedoverridevoid OnResizeEnd(EventArgs e)
{
base.OnResizeEnd(e);
//窗口resize之后的大小
Size endResizeSize =this.Size;
//获得变化比例
float percentWidth = (float)endResizeSize.Width / beforeResizeSize.Width;
float percentHeight = (float)endResizeSize.Height / beforeResizeSize.Height;
foreach (Control control inthis.Controls)
{
if (control is DataGridView)
continue;
//按比例改变控件大小
control.Width = (int)(control.Width * percentWidth);
control.Height = (int)(control.Height * percentHeight);
//为了不使控件之间覆盖 位置也要按比例变化
control.Left = (int)(control.Left * percentWidth);
control.Top = (int)(control.Top * percentHeight);
}
}
protectedoverridevoid OnResizeBegin(EventArgs e)
{
base.OnResizeBegin(e);
beforeResizeSize =this.Size;
}
protectedoverridevoid OnResizeEnd(EventArgs e)
{
base.OnResizeEnd(e);
//窗口resize之后的大小
Size endResizeSize =this.Size;
//获得变化比例
float percentWidth = (float)endResizeSize.Width / beforeResizeSize.Width;
float percentHeight = (float)endResizeSize.Height / beforeResizeSize.Height;
foreach (Control control inthis.Controls)
{
if (control is DataGridView)
continue;
//按比例改变控件大小
control.Width = (int)(control.Width * percentWidth);
control.Height = (int)(control.Height * percentHeight);
//为了不使控件之间覆盖 位置也要按比例变化
control.Left = (int)(control.Left * percentWidth);
control.Top = (int)(control.Top * percentHeight);
}
}
相关文章推荐
- Winform 窗体和控件自适应大小
- 【C#】c#winform 窗体及其控件的自适应
- C# Winform 如何获得窗体上控件相对于屏幕的位置
- 转:C# WinForm窗体及其控件的自适应
- C# WinForm窗体及其控件自适应各种屏幕分辨率
- 改进C# WinForm窗体及其控件的自适应
- C#/winform设置窗体自动缩放适应不同尺寸的电脑屏幕大小
- 【转】C# WinForm窗体及其控件的自适应
- C# WinForm窗体及其控件的自适应
- C# WinForm窗体及其控件的自适应
- C# Winform窗体和控件自适应大小
- 改进C# WinForm窗体及其控件的自适应
- C# WinForm窗体及其控件自适应各种屏幕分辨率
- WinForm窗体及其控件的自适应
- C# WinForm窗体及其控件的自适应
- WinForm窗体及其控件的自适应
- C# WinForm窗体及其控件自适应各种屏幕分辨率
- C# WinForm窗体及其控件自适应各种屏幕分辨率
- WinForm窗体及其控件的自适应
- C#winform设置窗体自动缩放适应不同尺寸的电脑屏幕大小