您现在的位置是:网站首页> 编程资料编程资料
VisualStudio2019中为.NET Core WinForm App启用窗体设计器_实用技巧_
2023-05-24
415人已围观
简介 VisualStudio2019中为.NET Core WinForm App启用窗体设计器_实用技巧_
当我们在使用 Visual Studio 2019 非预览版本开发 Windows Forms App (.NET Core) 应用程序时是不能使用窗体设计器的。即使在窗体文件上右击选择“显示设计器”菜单,仍旧只能看到代码,无法打开窗体设计器。
根据微软开发者博客的描述,我们可以使用 Visual Studio 2019 预览通道,将 Visual Studio 2019 更新至 16.6 来启用设计器(参见:Updates on .NET Core Windows Forms designer)。
在不启用预览通道的情况下,我们仍然可以通过更改项目文件来让项目支持窗体设计器。
当我们新建一个 .NET Core Windows Forms 程序时,我们的项目文件(*.csproj)通常包含以下内容:
WinExe netcoreapp3.1 true
TargetFramework标签标识我们程序的目标框架是.netcoreapp3.1。如果我们的项目同时可以支持 .NET Framework 那么就可以在 Visual Studio 中使用设计器,可以使用TargetFrameworks标签来让项目支持多个目标框架:
WinExe net472;netcoreapp3.1 true
保存更改后,Visual Studio 可能会提示重新加载。确认重新加载,窗体设计器就可以使用了:

通过为项目增加 .NET Framework 目标框架来启用设计器
做完这一步,我们的代码会无法通过编译。这是因为项目中使用了一个新的 API :SetHighDpiMode,但是 .NET Framework 4.7.2 并不支持。可以通过条件编译来限定对SetHighDpiMode的调用仅在 .NET Core APP 下生效。当目标框架是 .NET Core 时,生成系统可以识别NETCOREAPP处理器符号(感谢 @麦壳饼 的提示)。对 Program.cs 文件中 Main 方法的代码稍作修改即可编译通过:
////// The main entry point for the application. /// [STAThread] static void Main() { #if NETCOREAPP Application.SetHighDpiMode(HighDpiMode.SystemAware); #endif Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new FrmMain()); }
点击“调试”按钮的下拉项对目标框架进行切换:

切换调试项目的目标框架
程序运行起来后,效果令人满意:

.NET Core Windows Forms 运行效果
到此这篇关于VisualStudio2019中为.NET Core WinForm App启用窗体设计器的文章就介绍到这了,更多相关.NET Core WinForm App启用窗体设计器内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
相关内容
- 在.NET Core中用最原生的方式读取Nacos的配置方法(推荐)_实用技巧_
- IdentityServer4 QuckStart 授权与自定义Claims的问题_实用技巧_
- ASP.NET Core中的Action的返回值类型实现_实用技巧_
- 详解ASP.NET Core中配置监听URLs的五种方式_实用技巧_
- ASP.NET Core 应用程序中的静态文件中间件的实现_实用技巧_
- ASP.net中Core自定义View查找位置的实例代码_实用技巧_
- 详解在.net core中完美解决多租户分库分表的问题_实用技巧_
- ASP.NET Core中的Controller使用示例_实用技巧_
- ASP.NET Core单文件和多文件上传并保存到服务端的方法_实用技巧_
- ASP .NET Core API发布与部署以及遇到的坑和解决方法_实用技巧_
