我正在使用C#开发一个快速应用程序。我想做的一件事就是等同于Swing(java)pack()
。这是一个允许我对表单(Java中的框架)说出来的调用,将自己调整为自己内部组件总和的大小。
我已搜索和搜索(组件动态变化,所以我不能简单地将表单硬编码到正确的大小)但我找不到C#中的等效方法。
有谁知道它叫什么?
答案 0 :(得分:11)
您甚至不需要编写代码来“打包”表单。在表单设计器中,将表单的AutoSize
属性设置为true
,并将AutoSizeMode
属性设置为GrowAndShrink
,对表单上的任何控件重复此操作,这些控件也可能会更改大小
瞧!
在运行时(仅限),表单将动态调整自身大小以适应所有控件。如果你希望它与控件保持一点距离,以便控件不会“粘住”边缘,你可以设置Padding
属性(我建议至少值为12,12, 12,12)。
答案 1 :(得分:3)
同样在xaml:
<Window SizeToContent="WidthAndHeight" />
答案 2 :(得分:0)
另一种解决方案,仅在图像小于屏幕时可用:
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();