首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

C# WinForms 繪圖坐標錯誤:ClientSize.Height 寫成 Width 導致 Y 軸定位偏移

     編輯:程式設計綜合問答

錯誤代碼片段:

y = this.ClientSize.Width - ...;  // 應為 Height

問題分析

  • ClientSize.Width 是客戶區寬度 (X 軸最大值)。
  • ClientSize.Height 是客戶區高度 (Y 軸最大值)。
  • 計算 Y 座標時用 Width 會導致垂直方向定位完全錯誤 (如超出可視區或負值)。

修正

y = this.ClientSize.Height - offset;  // 正確

排查建議

  1. 使用 IDE 重構 → 重命名/查找引用,統一檢查 Width/Height 使用場景。
  2. 繪圖邏輯建議封裝為 Point GetCenter() 等方法,減少手寫坐標計算。
  3. 單元測試驗證邊界情況 (窗口最小化、最大化、DPI 縮放)。

修正 Height/Width 混淆,Y 軸定位即可恢復正常。

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