我正在C#中開發一個快速應用程序。我想要做的一件事是相當於Swing的(java)pack()
。這是一個調用,允許我對錶單(Java框架)進行說明,將自己的大小調整爲自己內部組件總和的大小。等效於C中的Swing包#
我已搜索和搜索(組件動態變化,所以我不能簡單地將窗體硬編碼到正確的大小),但我無法找到C#中的等效方法。
有人知道它叫什麼嗎?
我正在C#中開發一個快速應用程序。我想要做的一件事是相當於Swing的(java)pack()
。這是一個調用,允許我對錶單(Java框架)進行說明,將自己的大小調整爲自己內部組件總和的大小。等效於C中的Swing包#
我已搜索和搜索(組件動態變化,所以我不能簡單地將窗體硬編碼到正確的大小),但我無法找到C#中的等效方法。
有人知道它叫什麼嗎?
你甚至不需要編寫代碼來「打包」表格。在表單的設計器中,將表單的AutoSize
屬性設置爲true
,並將AutoSizeMode
屬性設置爲GrowAndShrink
,然後對錶單上的任何控件重複此操作,該控件還可能更改大小。
瞧!
在運行時(僅),表單將動態調整其自身以適應所有控件。如果您希望它與控件保持一點距離,以便控件不會「粘」到邊緣,則可以設置Padding
屬性(我建議至少使用12,12,12,12的值) 。
而且在XAML:
<Window SizeToContent="WidthAndHeight" />
另一種解決方案,僅如果圖像是小於屏幕:
Form frm = new Form();
PictureBox pbx = new PictureBox();
pbx.Image = Image.FromFile(_imagePath.Text);
pbx.Dock = DockStyle.Fill;
frm.Controls.Add(pbx);
frm.Size = pbx.Image.Size;
frm.Show();
當如標籤控件設置自動調整大小,你可能會想設置用於強制文本換行的`MaximumWidth`屬性,防止任何長行使窗體比屏幕更寬。 – Robadob 2013-08-09 11:08:18