【问题标题】:C# GUI Window FORM application going out of the screenC# GUI Window FORM 应用程序走出屏幕
【发布时间】:2015-11-17 16:38:27
【问题描述】:

我制作了一个 GUI 应用程序 (WIN FORM),它在 12 英寸屏幕上运行良好(没有裁剪表单),但在其他屏幕大于 12 英寸的笔记本电脑上,Win Form 超出了任务栏和表单的某些部分对用户不可见。我目前已通过挤压表单上的某些 UI 框来修复它。但为什么会发生这种情况?如何为所有 PC 型号自动纠正它。

【问题讨论】:

  • 您只想将表单拉伸到最大吗?
  • 如果您想调整所有控件和表单的大小,那么这很难实现,see this for c#this is for vb.net 这将让您了解如何实现您的目标,如果您唯一的问题是调整表单大小,使用 autosize 和 autoscroll 属性。
  • 裁剪或超出任务栏的原因是什么?是分辨率吗?还是其他设置?

标签: c# windows winforms user-interface screen


【解决方案1】:

您可能想查看Form.AutoSize 属性。此外,在链接中,查看 AutoSizeMode。

但是,为了能够解决此问题,您可能需要重写整个表单。

【讨论】:

    【解决方案2】:

    这听起来像是一个固定大小的对话框(至少我认为可调整大小的表单不会有问题)。

    您应该将表单高度调整为桌面大小(也可能是宽度)。如果窗体太大,下面的代码将缩小窗体并显示滚动条以访问剩余区域。

    protected override void OnShown(EventArgs e)
    {
        base.OnShown(e);
        AdjustHeight();
    }
    
    private void AdjustHeight()
    {
        Rectangle screen = Screen.FromControl(this).WorkingArea;
        int screenHeight = screen.Height;
    
        if (screenHeight < Height)
        {
            Height = screenHeight;
            AdjustFormScrollbars(true); // not needed if AutoScroll property is true
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-27
      • 2011-07-03
      • 2021-07-17
      • 2013-08-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多