2015-12-15 48 views
0

如何讓我的圖片框相對於表單的大小調整其高度,寬度和位置?現在,我已經默認這樣看:如何在表單大小更改時將PictureBoxs的高度,寬度和位置調整爲表單?

og

但如果我用我的鼠標調整其大小,它看起來像這樣:

enter image description here

我怎樣才能得到它,使其充滿在空間中是否正確和有效(與表單的尺寸有關)?

這是我曾嘗試:

private void Form1_Resize(object sender, EventArgs e) { 
      //adjust the size of the tiles relative to the dimension of the window 
      if (Size != new Size(442, 465)) {//the default size of the form 
       for (int i = 0; i < picBox.Length; i++) { 
        picBox[i].Height = Size.Height/4;//picBox is an array of PictureBoxs with default heights, widths, and locations 
        picBox[i].Width = Size.Width/4; 
       } 
      } 
     } 

我的問題是從this one不同,因爲我試圖讓我的內容調整到形式,而不是周圍的其他方式的大小。

回答

0

使用AutoSize強制窗體調整大小以適應其內容。 不管AutoSize和AutoSizeMode屬性的值如何,窗體都不會自動在Visual Studio窗體設計器中調整大小。表單根據這兩個屬性的值在運行時正確調整自身大小。相比之下,自定義的UserControl會在設計時和運行時自動調整自身大小。 使用AutoSize時,將遵守MinimumSize和MaximumSize屬性,但忽略Size屬性的當前值。使用AutoSize和AutoSizeMode也會使AutoScroll屬性變得多餘,因爲沒有辦法縮小窗體以隱藏它從視圖中包含的控件。 有關AutoSize爲true時表單行爲方式的信息,請參閱AutoSizeMode枚舉。

private void Form1_Load(object sender, EventArgs e) 
{ 
    this.AutoSize = true; 
    this.AutoSizeMode = AutoSizeMode.GrowAndShrink; 
} 

參考This微軟鏈接瞭解更多信息

有在WinForms應用程序一定的侷限性,使窗口大小可變的在運行時。在你的情況下,我會建議只是不要讓用戶調整窗口大小,但通過表單加載事件下面的代碼使他的應用程序窗口適合他的屏幕分辨率。

this.Location = new Point(0, 0); 
this.Size = Screen.PrimaryScreen.WorkingArea.Size; 
+0

感謝您的答覆,但是當我嘗試,它甚至不會讓我改變大小... –

+0

請參考這個,還有的WinForms的侷限性http://stackoverflow.com/questions/5962595 /如何調整大小 - 自動調整內容 - 自動調整內容 –

+0

我也嘗試過,但沒有運氣。 –

相關問題