您的位置:首页 > 编程语言 > C#

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);

     }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C#Winform