C# 如何在运行时根据屏幕分辨率自动调整窗体窗口的大小(设计期间创建的窗口太大)

C# 如何在运行时根据屏幕分辨率自动调整窗体窗口的大小(设计期间创建的窗口太大),c#,.net,winforms,combobox,windows-applications,C#,.net,Winforms,Combobox,Windows Applications,我已经创建了一个windows应用程序,其中的表单大小足以查看 我希望窗体根据显示器的屏幕分辨率缩小或最大化,以便用户能够以紧凑的方式查看所有控件 我尝试了表单中的“自动调整大小”属性,但不起作用。是否有任何形式的属性可以解决此问题 还是需要编写其他代码来解决此问题 感谢您在表单加载事件中执行以下操作: private void Form_Load(object sender, EventArgs e) { Rectangle resolutionRect = Syste

我已经创建了一个windows应用程序,其中的表单大小足以查看

我希望窗体根据显示器的屏幕分辨率缩小或最大化,以便用户能够以紧凑的方式查看所有控件

我尝试了表单中的“自动调整大小”属性,但不起作用。是否有任何形式的属性可以解决此问题

还是需要编写其他代码来解决此问题


感谢您在表单加载事件中执行以下操作:

    private void Form_Load(object sender, EventArgs e) {
        Rectangle resolutionRect = System.Windows.Forms.Screen.FromControl(this).Bounds;
        if (this.Width >= resolutionRect.Width || this.Height >= resolutionRect.Height) {
            this.WindowState = FormWindowState.Maximized;
        }
    }

设置WindowState=Maximized将使窗口以屏幕分辨率的最大范围打开。不管这个值是什么,它都会匹配它

编辑: 从您的评论中,听起来您希望自动调整大小属性能够完成什么。我更新了表单以添加一些控件,并设置了AutoSize=TrueAutoSizeMode=growtandshrink。在这三个属性之间,您应该能够让表单完全按照您的意愿进行操作。需要注意的一件事是表单中控件的完整范围。从这张图片中,您可以看到运行时表单将调整大小以适应两个文本框,而在编辑器中,我缩小表单以隐藏几乎所有内容。还请注意,在下面的示例中,我设置了WindowState=Normal


您是否尝试过将表单设置为最大化?没有。。它能做什么。。你能解释一下吗?谢谢我知道这个想法。。。。但问题是windows窗体在运行时看起来太大。。。我只是希望它是紧凑和准确的看法。。。。这能做到吗?@GowthamRamamoorthy-Hmm。你有点违背了你的第一个要求。是希望窗体与屏幕分辨率匹配,还是希望窗体与窗体上控件的完整范围匹配?请说得更清楚一点。@GowthamRamamoorthy我编辑了一个例子来展示我相信你想要实现的目标。注意控件的范围。如果窗体不符合预期,则控件的范围可能与您认为的不同。