Apa*_*MPE 2 c# size border winforms
当您设置窗体的大小时,即;
Form1.Size = new System.Drawing.Size(700, 500);
Run Code Online (Sandbox Code Playgroud)
这是否包括窗口围绕窗体的边框?因为我已经将700x500的图像(通过pictureBoxes)添加到我的表单中,并且它们已经被边框切断了.
另外:当我说边框时,我的意思是默认的窗口边框,您可以拖动边缘来调整它的大小,以及包含红色X,最小化和最大化按钮.
这取决于,例如,当您以.NET 4.5为目标时,您将获得不同的大小.边框总是包含在内,但您实际上并不知道边框的数量.你在Aero中获得的胖边界问题以及你在XP中获得的瘦小问题.
这几乎总是错误的.您总是希望分配ClientSize属性.重要的是,它不包括边框,因此您可以确保控件仍然适合.
和硬编码的大小永远是错的为好.您的表单将重新调整,具体取决于视频适配器的每英寸点数设置.DPI设置越大,表格需要越大,以适应其内容.所以正确的陈述应该类似于:
this.ClientSize = new Size(PictureBox3.Right, PictureBox3.Bottom);
Run Code Online (Sandbox Code Playgroud)
假设"PictureBox3"是您想要保持可见的最右下角的控件.此语句需要出现在Load事件处理程序中以确保完成重新缩放,它无法在构造函数中工作.使用Load事件的极少数正当理由之一.