首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> 關於.NET

WinForms 無法設置小尺寸 Form 的解決方案:MaximumSize 與 MinimumSize 雙重限制

     編輯:關於.NET

問題現象

創建無邊框小視窗(如 80×25 像素),直接設置 this.Size = new Size(80, 25) 卻發現實際顯示為 124×36,且尺寸小於該閾值時無法正確設置。

根因分析

WinForms 內部對最小視窗尺寸有默認限制(約 124×36),屬於框架已知行為而非代碼錯誤。

解決方案

同時設置 MaximumSize 和 MinimumSize 為目標尺寸,強制繞過框架限制:

public void AdjustSize()
{
    Size newSize = new Size(80, 25);
    this.MaximumSize = this.MinimumSize = newSize;
    this.Size = newSize;
}

關鍵注意點

  • 必須同時設置 兩個屬性,單獨設置無效
  • MinimumSize 可設為極小值(如 new Size(1, 1))
  • 適用於 FormBorderStyle.FixedSingle 等無標題欄樣式

效果驗證

修正後視窗精確顯示為 80×25 像素,符合預期。

擴展應用

此技巧可用於製作緊湊工具欄、通知彈窗等微型界面元素。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved