内容简介:当我们在使用 Visual Studio 2019 非预览版本开发 Windows Forms App (.NET Core) 应用程序时是不能使用窗体设计器的。即使在窗体文件上右击选择“显示设计器”菜单,仍旧只能看到代码,无法打开窗体设计器。根据微软开发者博客的描述,我们可以使用 Visual Studio 2019 预览通道,将 Visual Studio 2019 更新至 16.6 来启用设计器(参见:Updates on .NET Core Windows Forms designer)。在不启用预
当我们在使用 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)通常包含以下内容:
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop"> <PropertyGroup> <OutputType>WinExe</OutputType> <TargetFramework>netcoreapp3.1</TargetFramework> <UseWindowsForms>true</UseWindowsForms> </PropertyGroup></Project>
TargetFramework
标签标识我们程序的目标框架是 .netcoreapp3.1
。如果我们的项目同时可以支持 .NET Framework 那么就可以在 Visual Studio 中使用设计器,可以使用 TargetFrameworks
标签来让项目支持多个目标框架:
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop"> <PropertyGroup> <OutputType>WinExe</OutputType> <TargetFramework>net472;netcoreapp3.1</TargetFramework> <UseWindowsForms>true</UseWindowsForms> </PropertyGroup></Project>
保存更改后,Visual Studio 可能会提示重新加载。确认重新加载,窗体设计器就可以使用了:
做完这一步,我们的代码会无法通过编译。这是因为项目中使用了一个新的 API : SetHighDpiMode
,但是 .NET Framework 4.7.2 并不支持。可以通过条件编译来限定对 SetHighDpiMode
的调用仅在 .NET Core APP 下生效。当目标框架是 .NET Core 时,生成系统可以识别 NETCOREAPP
处理器符号(感谢 @麦壳饼 的提示)。对 Program.cs 文件中 Main 方法的代码稍作修改即可编译通过:
/// <summary> /// The main entry point for the application. /// </summary> [STAThread] static void Main() {#if NETCOREAPP Application.SetHighDpiMode(HighDpiMode.SystemAware);#endif Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new FrmMain()); }
点击“调试”按钮的下拉项对目标框架进行切换:
程序运行起来后,效果令人满意:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- WPF中窗体最大化问题处理
- 隐藏元素之后改变窗体大小时echarts显示异常问题
- c# – Windows窗体应用中的非抗锯齿手形光标!
- WPF中自定义标题栏时窗体最大化处理之WindowChrome
- Firefox 已逐渐开始启用 TLS 1.3 支持(附带启用指南)
- 2.启用Admin
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
数据资本时代
Viktor Mayer-Schnberger / 李晓霞、周涛 / 中信出版集团股份有限公司 / 2018-11-1 / CNY 58.00
【编辑推荐】 大数据除了能对我们的生活、工作、思维产生重大变革外,还能够做什么?畅销书《大数据时代》作者舍恩伯格在新书《数据资本时代》中,展示了大数据将如何从根本上改变经济——这并不是因为数据是一种新型石油,而是因为数据是一种新型润滑脂,它将给市场带来巨大能量,给公司带来巨大压力,使金融资本的作用大大削弱。赢家是市场,而并非资本。 这本书在当下国内出版,可以说恰逢其时。时下,中国经济正......一起来看看 《数据资本时代》 这本书的介绍吧!