WinForm正在以比屏幕大的尺寸打开

时间:2018-10-26 13:53:12

标签: c# winforms

我有一个窗口表单,这里是它的主要属性

  1. 窗口状态maximized
  2. 自动尺寸true
  3. 将AutoSizeMode设置为GrowAndShrink

它在我的PC上工作正常(以最大尺寸打开,适合屏幕显示),但是当我在另一台PC上尝试使用此应用程序时,窗体尺寸以大尺寸打开。它已最大化,但其控件较大。     我在做什么错了?

请记住,有两个屏幕已附加,我已经使用该代码段在特定屏幕中打开的表单中准确地提到了(在表单加载事件中)。

  int displayScreen = GetScreenNumber();
  this.Location = Screen.AllScreens[displayScreen].WorkingArea.Location;

1 个答案:

答案 0 :(得分:2)

您可以如下所示设置表格的最小和最大尺寸

this.MinimumSize = new Size(140, 480);
this.MaximumSize = new Size(140, 480);

您也可以按以下方式使用它

private void Form1_Load(object sender, EventArgs e)
        {
            int h = Screen.PrimaryScreen.WorkingArea.Height;
            int w = Screen.PrimaryScreen.WorkingArea.Width;
            this.ClientSize = new Size(w, h);
        }

它可以为您工作的另一种方式是

Rectangle screen = Screen.PrimaryScreen.WorkingArea;
int w = Width >= screen.Width ? screen.Width : (screen.Width + Width) / 2;
int h = Height >= screen.Height ? screen.Height : (screen.Height + Height) / 2;
this.Location = new Point((screen.Width - w) / 2, (screen.Height - h) / 2);
this.Size = new Size(w, h);