【发布时间】:2010-09-07 10:17:48
【问题描述】:
我想在 Vista 上使用 Segoe UI 9 pt,在 Windows XP/etc 上使用 Tahoma 8 pt。 (实际上,我会满足于两者上的 Segoe UI,但我的用户可能没有安装它。)但是,它们完全不同,它们真的搞砸了我的表单布局。那么……有什么好的办法来解决这个问题吗?
一个例子:我有一个Label,中间有一些空格,我在其中放置了一个NumericUpDown 控件。如果我使用 Segoe UI,与使用 Tahoma 时相比,NumericUpDown 在空白区域左侧大约 5 个像素左右。这是一种痛苦;我不确定在这里做什么。
所以最具体地说,我的问题是:如何在我的Labels(或CheckBoxes 等)的空白区域中间放置控件?最普遍的是:有没有一种处理 Windows 窗体中不同字体的好方法?
编辑:我认为人们不理解这个问题。我知道如何根据操作系统改变我的字体。我只是不知道如何处理由此产生的布局问题。
回复 ajryan, quick_dry:好的,你们明白这个问题了。我想 MeasureString 可能会起作用,尽管我有兴趣进一步探索解决这个问题的更好方法。
拆分控件的问题在CheckBox 中最为明显。在那里,如果用户单击 CheckBox 的“后半部分”(我猜这将是一个单独的 Label 控件),CheckBox 不会改变状态。
【问题讨论】:
标签: .net winforms user-interface layout fonts