Application.EnableVisualStyles()和Application.SetCompatibleTextRenderingDefault()的作用及用法
1、publicstaticvoidEnableVisualStyles():此方法为应用程序启用可视样式。
2、Application.SetCompatibleTextRenderingDefault(false)
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
关注我】。(●'◡'●)
如果,您希望更容易地发现我的新博客,不妨点击一下绿色通道的【因为,我的写作热情也离不开您的肯定与支持,感谢您的阅读,我是【Jack_孟】!
本文来自博客园,作者:jack_Meng,转载请注明原文链接:https://www.cnblogs.com/mq0036/p/16645346.html
【免责声明】本文来自源于网络,如涉及版权或侵权问题,请及时联系我们,我们将第一时间删除或更改!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2021-09-01 批处理怎样实现计算超大数、浮点数计算
2018-09-01 C#使用Xamarin开发Android应用程序 -- 系列文章
2015-09-01 qq群文件管理