自动缩放属性无法正常工作。 WinForm是以高分辨率开发的。但是,当我们部署在较低版本的Windows XP中时,某些按钮未显示。
我在谷歌尝试过多次修改,但似乎没有任何效果。 这是我的winform配置。
this.AutoScaleDimensions = new System.Drawing.SizeF(grap.DpiX, grap.DpiY);
// this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
this.AutoSize = true;
this.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
this.BackColor = System.Drawing.SystemColors.ControlLight;
this.ClientSize = new System.Drawing.Size(1366, 50);
this.DockTop = true;
this.Font = new System.Drawing.Font("MS Reference Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
建议如何解决这个问题可能会有所帮助。
答案 0 :(得分:0)
由于控制的流动性,这就是问题所在。
要解决此问题,您需要以低分辨率设计表单(在进行表单设计时,必须保持其宽度和高度低于1024 * 768)。然后,您必须设置表单中每个控件的锚点属性,以定位其正确的位置。
例如:假设您的表单中有一个Datagridview,那么您必须将其Anchor属性设置为 Top,Bottom,Left,Right 。
为每个控件设置适当的Anchor属性将使表单中的控件在表单调整大小时被拉伸。
希望这会有所帮助:)
答案 1 :(得分:0)
在设置表单尺寸的过程中,表单尺寸受 Screen.GetWorkingArea 限制,而没有考虑 AutoScale 。
我解决了此问题,该问题存储了在 InitializeComponent()中设置的原始 ClientSize ,并在 HandleCreated 事件上将其自动缩放。
[object Object]