[C#] Application.EnableVisualStyles()的作用及用法

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

 

  • 16
    点赞
  • 59
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
提供的源码资源涵盖了Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!
提供的源码资源涵盖了小程序应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!
在 .NET 6.0 中,您可以在控制台应用程序中添加使用 Windows 窗体的功能,而不必将其转换为 Windows 窗体应用程序。 要在 .NET 6.0 控制台应用程序中添加窗体依赖,请按照以下步骤操作: 1. 打开 Visual Studio 中的项目。 2. 在“解决方案资源管理器”中,右键单击项目并选择“添加”->“NuGet 程序包...”。 3. 在“NuGet 包管理器”中搜索并安装 `Microsoft.WindowsDesktop.App.WindowsForms` 包。 4. 安装完成后,打开您的控制台应用程序的入口点 `Main()` 方法,并在其开头添加以下代码: ``` using System.Windows.Forms; Application.SetHighDpiMode(HighDpiMode.SystemAware); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); ``` 该代码将初始化 Windows 窗体应用程序运行所需的环境。请注意,您需要在 `Main()` 方法中调用此代码,而不是在您的 `Form` 类中调用它。 5. 创建您的新窗体类,并在 `Main()` 方法中使用 `Application.Run()` 方法运行该窗体。例如: ``` using System; using System.Windows.Forms; namespace ConsoleApp1 { class Program { static void Main() { Application.SetHighDpiMode(HighDpiMode.SystemAware); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new MyForm()); } } public class MyForm : Form { public MyForm() { Text = "My Form"; } } } ``` 在这个示例代码中,我们创建了一个名为 `MyForm` 的新窗体,并在 `Main()` 方法中使用 `Application.Run()` 方法运行该窗体。当您运行此控制台应用程序时,将显示一个新窗体。 请注意,在使用 Windows 窗体的控制台应用程序中,您仍然可以使用控制台输出和输入。窗体将与控制台共存,但它们将是独立的窗口。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值