C#应用程序GUI在不同的Windows图标/文本大小设置上打破

http://img.zgserver.com/c%23/OXfC7.png

我有ac#表单应用程序具有固定的大小(不能resize),不能被最大化。 对于图标/文字大小设置不同的用户会中断我的GUI(整个表单更大,背景图像开始平铺等)。

帮帮我?

Microsoft建议用户更改DPI(每英寸点数)设置并保持其原始分辨率,而不是更改分辨率以放大可见显示。 本文还链接到构建DPI感知应用程序的指南。

http://msdn.microsoft.com/en-us/library/dd371771(VS.85).aspx

您应该允许您的表单和控件缩放,用户很可能已经改变了他们的DPI设置。 这个原因很可能与可访问性有关,作为开发者,我们应该努力遵守用户界面和可访问性标准。

这通常会增加为网站和应用程序创建资产的工作量。 另外,还应该考虑到控件的定位,以确保它们在缩放时不会重叠或脱离表单的边缘。 确保您的应用程序符合要求的最佳方法是在频谱的两端进行测试,并使用正常的推荐设置。

至于禁用表单的最大化,只有在确保表单能够放在最小的显示器上而没有问题的情况下才能这样做。 我已经在上网本上使用了一个7英寸的屏幕上的应用程序,不能最大化,他们只是不适合,有限的空间来移动窗体访问某些控件,如果这些可以最大化,我会期待所有控件是可见的,或者可以滚动到达它们。

为所有人开发解决方案是一项挑战,但是如果您的应用程序正常工作,您的最终用户将会非常感激您所做的工作。 无障碍是一个敏感的领域,我们应该努力为所有用户提供接口。

那么,听起来你应该允许它被调整大小…

坦率地说,即使MS已经得到了暗示,并开始改变他们的大部分形式,甚至对话框可以调整大小。 这是友好的事情。

更新

有一些事情想到如何解决这个问题。 首先,将背景图像设置为拉伸。 对于该按钮,不要使用图像来显示文本,只需使用具有一定透明度的背景图像并使用常规字体即可。

你应该多一点描述你想要的东西。 由于我不知道你想要实际发生什么,你可以通过改变你的窗体属性AutoScaleMode到None来防止窗体元素的大小。