1
我有一個System.Windows.Forms.Form,我需要在運行時設置客戶區的大小。奇怪的是,即使當我將ClientSize property設置爲800x600時,該區域的右側和底側也會縮小4個像素,這會導致我的內容在兩個方向上都會縮小4個像素。Form.ClientSize中沒有渲染大小的窗體客戶區大小
在Windows XP和Windows Classic主題中都會出現此行爲。
從我對MSDN文檔的理解,這應該做我想做的 - 但事實並非如此。
的 形式的客戶區的大小是不包括 邊界和標題欄的形式的大小。
示例代碼瀏覽:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
this.ClientSize = new Size(800, 600);
}
}
是怎麼回事?我注意到the comments of an answer to another question這是發生在別人身上。有什麼方法可以可靠地設置客戶區的大小?
我只是試過這個代碼(在VS2008,Win7上),它沒有任何額外的像素(在屏幕截圖上測量)正確執行。也許你使用的特定主題有被視爲邊界的隱形部分? – 2010-01-22 03:01:53
您的表單上是否設置了最大高度和最大寬度?否則,尺寸設置的工作非常可預測。 – 2010-01-22 03:02:29
感謝您的建議。我嘗試設置最大/最小尺寸以及Windows XP和Windows Classic主題。我仍然看到4像素的形狀太小而不能在右邊和底部。 :( – 2010-01-22 03:28:51