我已經閱讀了幾個堆棧溢出問題,但沒有找到解決我的問題的好辦法。如何在調整窗體大小時調整控件的大小?當表格變得更大或更小時,我希望它們變得更大或更小。調整窗體大小的控件
在visual basic中,這對於form.Zoom屬性(當然不需要調整控件的大小,但解決了我需要的)很容易。不幸的是,這在C#winforms中不可用。
下面是一些其他的事情我已經試過沒有運氣:
private void formMain_Resize(object sender, EventArgs e)
{/*
double scale;
this.scaleWidth = (float)this.Width/(float)this.origWidth;
this.scaleHeight = (float)this.Height/(float)this.origHeight;
if (this.scaleHeight > this.scaleWidth)
{
scale = this.scaleHeight;
}
else
{
scale = this.scaleWidth;
}
foreach (Control control in this.Controls)
{
control.Height = (int)(control.Height * this.scaleHeight);
control.Width = (int)(control.Width * this.scaleWidth);
this.Refresh();
// control.Font = new Font("Verdana", control.Font.SizeInPoints * heightRatio * widthRatio);
}
///////This scaling didnt work for me either
//this.Scale(new SizeF(this.scaleWidth, this.scaleHeight));
//this.Refresh();
*/
}
如果我在另一個堆棧溢出的問題,我希望能看到它忽視了代碼actualy 工作樣品,但那些我發現類似於那些不起作用的那些。
也許我在濫用它,並且有人可能會發布示例代碼來向我們這些不斷問這個問題的人展示如何解決問題。
此外,我試圖使用一些錨/對接工具,認爲他們會自動允許它,但它沒有。
你已經使用了dock和anchor屬性.....試着用更好的方式使用它們......他們應該是你成功的關鍵我猜。我也可以要求提供一個用戶界面的屏幕截圖嗎? – Sandy 2013-02-28 11:05:57