.NET 6中ApplicationConfiguration.Initialize()的Visual Basic等效实现
.NET 6 Windows Forms VB适配新应用引导代码
在.NET 6中,微软为C# Windows Forms应用引入了新的应用引导代码,示例如下:
class Program { [STAThread] static void Main() { ApplicationConfiguration.Initialize(); Application.Run(new Form1()); } }
但直接在Visual Basic应用中使用对应逻辑时,会出现“ApplicationConfiguration未定义”的错误,以下是适配方案:
方案一:使用等效初始化代码(无需自定义类)
- 修改项目属性:
- 右键项目 → 属性 → 切换到「应用程序」选项卡
- 取消勾选「启用应用程序框架」
- 在「启动对象」下拉列表中选择「Sub Main」
- 添加模块文件(如
Program.vb),编写如下代码:
Module Program <STAThread> Sub Main() ' 对应ApplicationConfiguration.Initialize()的核心逻辑 Application.EnableVisualStyles() Application.SetCompatibleTextRenderingDefault(False) ' 可选:添加高DPI适配配置 Application.SetHighDpiMode(HighDpiMode.SystemAware) Application.Run(New Form1()) End Sub End Module
方案二:自定义ApplicationConfiguration类(对齐C#写法)
如果希望完全对齐C#的代码结构,可以手动创建ApplicationConfiguration类,再调用初始化方法:
- 完成方案一中的项目属性修改步骤
- 添加类文件
ApplicationConfiguration.vb:
Friend Class ApplicationConfiguration Public Shared Sub Initialize() Application.EnableVisualStyles() Application.SetCompatibleTextRenderingDefault(False) Application.SetHighDpiMode(HighDpiMode.SystemAware) ' 可根据需求添加其他全局应用配置 End Sub End Class
- 在
Program.vb中编写引导代码:
Module Program <STAThread> Sub Main() ApplicationConfiguration.Initialize() Application.Run(New Form1()) End Sub End Module
内容的提问来源于stack exchange,提问作者gentilinigm
相关产品推荐
相关产品推荐

