adr*_*nks 9 .net c# windows-forms-designer winforms
我有一个显示为模态对话框的表单.表单中的表单如下所示:
(宽度= 360,高度= 215)
当它在应用程序中显示时,它比定义的更高和更宽10像素,在左下边缘留下宽的边缘:
(宽= 370,身高= 225)
表单显式设置为维度为360x215像素,具有边框样式FixedDialog,继承System.Windows.Forms.Form,并且没有代码来操作维度(自动生成的设计器文件除外).如果我将边框样式更改为FixedSingle或FixedToolWindow显示正确的大小(但我希望它的样式为FixedDialog).
知道是什么导致了这个吗?
我通过删除MinimumSize表单上的设置来修复此问题.似乎如果将其设置为相同的大小(或接近,但我还没有找到阈值)作为Size属性,则引入边距.由于表单不可调整大小,我不需要该MinimumSize集合,因此可以将其删除.
我仍然不明白为什么会这样.
首先,您的表单似乎已AutoScaleMode设置为Font.这会导致表单调整大小,具体取决于使用的字体.
其次,确保在创建主窗体之前有以下几行:
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false); // Not using this - or using true - will cause a different font rendering
...
Application.Run(new Form1()); // this creates your main form
Run Code Online (Sandbox Code Playgroud)
(通常这是静态Main方法的一部分Program.cs)
不使用这些行导致使用不同的字体渲染(看看你的截图 - 字母看起来不太相同!)