2016-08-05 208 views
0

我有一个C#WinForms应用程序,我在Windows 7专业桌面PC上使用VS 2013创建了DPI 125.经过在Pro 4个人电脑上测试它之后,我注意到有东西是缩放错误。于是,经过一番灵魂,计算器,搜索:-)我发现我应该添加app.manifest文件,并设置apiAware为真,也改变了形式AutoScaleMode到DPI及其自动调整大小为true。这已经解决了几乎所有的控制问题。我遇到的问题是用LinkLabel控件。该控件上的字体大小不会随窗体上的其他控件而改变,并且与它们不内联。更改DPI时字体大小不变

解决此问题的最佳方法是什么?

与问候,

ES

+1

虽然不是一个妥善的解决办法,肯定有一些,你可以订阅在onResize事件和手动设置字体与任何其他标签一样。 – 0xFF

+0

除了这个控件以外其余都不是基于文本的,都是图片。 – Goozo

回答

0

这是解决方案,我想出,调整基础上,他们使用的是内容的所有控件。例如,如果在DPI增加后它是一个PictureBox控件,那么只有控件本身的大小不是实际图像,所以我将根据图像的大小调整控件的大小。

这么一个简单的代码会是这个样子

Size newSize = missionPbx.Image.Size; 
missionPbx.Size = new Size(newSize.Width + 5, newSize.Height+5); 

欢呼声,

ES