所以我正在阅读另一个问题中有人链接到的那些 Windows Vista UI 指南,他们提到你应该能够在切换到 120 DPI 后幸存下来。好吧,我在安装了我的应用程序的情况下启动了我方便的虚拟机,我们得到了什么……啊啊!!!大规模用户界面失败!
一切都乱七八糟:有些容器不够大,无法容纳它们的文字;一些“彼此相邻”定位的控件现在都挤在一起/分开了;有些按钮不够高;我的ListView
专栏不够宽... eeek。
这听起来像是一种完全不同的方法。我之前的一个基本上是使用 VS2008 Windows 窗体设计器来创建,我猜是基于像素的布局。我可以看到,如果我坚持使用 Windows 窗体,FlowLayoutPanel
s 会很有帮助,尽管我过去发现它们相当不灵活。它们也不能解决容器(例如表单本身)不够大的问题;大概有办法做到这一点?也许是那个AutoSize
属性?
这也可能表明是时候跳槽到 WPF 了。我的印象是它是专门为这种事情设计的。
基本问题似乎归结为这些:
- 如果我要坚持使用 Windows 窗体,那么实现与字体大小无关的布局的所有技巧是什么,这种布局可以在用户设置大字体或将显示设置为 120 DPI 时存活下来?
- WPF 在这方面是否具有显着优势,如果是,您能否尝试说服我值得转换?
- 在 .NET 堆栈中或一般情况下,是否存在与字体大小无关的布局的一般“最佳实践”?