1. VS中Dialog的Font用得不是系统Dialog的Font,也不是Control.DefaultFont,而是系统中Icon的Font。 VS2005以后的版本都不能通过Tools/Option来改变,而只能通过设置系统中Icon的Font来改变:
在XP系统下:右击桌面->点击属性->切到Appearance页面->点击Advanced->在Item里面选择Icon->改变Font。
这是微软的原话:
Note: The dialog font in Visual Studio is mapped to the system setting for ICON, not to the same font setting as system dialogs. System dialogs use the font DEFAULT_GUI_FONT (set to MS Sans Serif by default on the English operating system), and not exposed to the end user using Control Panel. We made the determination to use the setting for ICON in Visual Studio for two reasons: 1) There is a bug in the operating system in which MSSHellDlgFont2 does not correctly get mapped to Tahoma on Windows XP systems, and 2) the setting for ICON is the correct font for tool windows and treeview controls.
2. 正如Winking所说,UITypeEditor推荐使用IWindowsFormsEditorService.ShowDialog方法。而在其它地方,或者是IWindowsFormsEditorService取不到,则用IUIService.ShowDialog方法,实际上绝大多数IWindowsFormsEditorService的实现也是调用IUIService的。只有在上述Server都取不到的时候,才使用Form.ShowDialog(). |