Application.EnableVisualStyles()和Application.SetCompatibleTextRenderingDefault()的作用及用法

1、publicstaticvoidEnableVisualStyles():此方法为应用程序启用可视样式。

2、Application.SetCompatibleTextRenderingDefault(false)

3、Application.Run()函数


1、publicstaticvoidEnableVisualStyles():此方法为应用程序启用可视样式。

是激活应用程序的显示风格,而显示风格是构成操作系统主题的各种元素,如色彩、字体等。如果控件和OS支持,那么控件的绘制就会根据显示风格来实现。实际上该方法的调用必须早于任何一个控件的创建。通常它位于Main的第一行,在集成开发环境下会自动被添加。

当调用 EnableVisualStyles时,无需单独的清单即可启用可视化样式。

static class Program
    {
        /// <summary>
        /// 应用程序的主入口点。
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());
        }
    }

简单的说就是让你的控件(包括窗体)显示出来。

2、Application.SetCompatibleTextRenderingDefault(false)

(1)作用:在应用程序范围内设置控件显示文本的默认方式(可以设为使用新的GDI+ , 还是旧的GDI)
true使用GDI+方式显示文本,
false使用GDI方式显示文本。

GDI GDI+ 的区别
(2)只能在单独运行窗体的程序中调用该方法;不能在插件式的程序中调用该方法。
(3).只能在程序创建任何窗体前调用该方法,否则会引发InvalidOperationException异常。

某些窗体控件在给它们的文本着色时可以使用 TextRenderer类也可以使用 Graphics类。TextRenderer类是基于GDI图形库的,而Graphics类则基于GDI+库。这两种类的并存始于.NET Framework 2.0,部分出于性能原因,部分是由于GDI+的本地化问题。若控件支持UseCompatibleTextRenderingproperty属性,则该方法将此属性设置为默认值。
UseCompatibleTextRendering属性用于兼容使用TextRenderer类的窗体控件和使用 Graphics 类的.NET Framework 1.0和.NET Framework 1.1下的应用程序。如果你到程序不是从1.0或者1.1版本升级来的,那么建议你把该属性设置为false。

除了窗体应用程序,不要调用该方法。
至于为什么出现基于GDI 的TextRenderer类,MSDN上有,我也不想再翻译了。主要是基于性能,美观等考虑,以及多语言字体的兼容问题。

3、Application.Run()函数

从MSDN中查看了一下Application.Run()函数的定义--"在当前线程上开始运行标准应用程序消息循环。"用Reflector查看了一下Application.Run()的实现代码,如下所示:

Public Shared Sub Run()
      ThreadContext.FromCurrent.RunMessageLoop(-1, New ApplicationContext)
End Sub

 

 

出处:https://blog.csdn.net/qq_41319343/article/details/86632254

posted on 2022-09-01 09:20  jack_Meng  阅读(629)  评论(0编辑  收藏  举报

导航