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