在应用程序中创建第一个 IWin32Window 对象之前,必须调用 SetCompatibleTextRenderingDefault。
(VS.80).aspx
引经据典:MSDN 如是说,
Application.SetCompatibleTextRenderingDefault 方法
将某些控件上定义的 UseCompatibleTextRendering 属性设置为应用程序范围内的默认值。
参数
defaultValue
用于新控件的默认值。如果为 true,则支持 UseCompatibleTextRendering 的新控件将 GDI+ 用于文本呈现;如果为 false,则新控件使用 GDI+。
异常
异常类型 条件
InvalidOperationException
您只能在 Windows 窗体应用程序创建第一个窗口之前调用此方法。
备注
某些 Windows 窗体控件可以使用 GDI 图形库或更新的 GDI+ 库来呈现其文本。由于 GDI+ 的性能和本地化问题而做出这样的更改。默认情况下,将支持 UseCompatibleTextRendering 属性的现有控件设置为 true 以获得向后兼容性,但 Visual Studio 等环境中的所有新控件都将该属性设置为 false。要切换新控件的默认文本呈现时,请使用 SetCompatibleTextRenderingDefault。
如果在另一个应用程序中承载 Windows 窗体代码,例如 Internet Explorer,切勿调用该方法。仅在独立的 Windows 窗体应用程序中调用该方法。
去掉 //Application.SetCompatibleTextRenderingDefault(false); 则无异常。
代码如下:
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
//Application.SetCompatibleTextRenderingDefault(false);
FormLogin login = new FormLogin();
if(DialogResult.OK != login.ShowDialog()) return;
Control instance;
if (login.IsAuthorised == AuthoriseType.QualityChecker)
instance = CheckingControl.Instance;
else
instance = ManagerControl.ManagerInstance;
Application.Run(new FormMaster(instance));
}
阅读(3311) | 评论(0) | 转发(0) |