.net core 开发 Windows Forms 程序
引言
.net core 3.1 是微软lts长期3年支持版本,正式发布于2019-12-03,并且在windows平台上支持了winfrom跟wpf桌面应用。本文将介绍使用 vs 2019 开发 windows forms 桌面应用程序。
开发 windows forms 程序
首先,打开 vs 2019 ide 工具,新建一个 windows forms app(.net core) 项目,如下图:
默认是 .net core 3.1 的框架。
双击 form1 发现并没有弹出窗体设计器,what?
没有5年10年的开发经验,让我直接手写 winform 代码,这不是给我开玩笑嘛。
最后,发现需要安装“winforms-designer”插件,才能使用窗体设计器,使用拖拽控件的方式。
在visual studio 16.5 preview 1中更新到.net core windows forms设计器
我们很高兴宣布.net core windows窗体设计器的新预览版,可在visual studio 16.5 preview 1中使用。
令人欣慰的是,设计师现在已成为visual studio的一部分!这意味着不再需要从单独的vsix安装.net core windows forms设计器!
要使用设计器:
您必须使用visual studio 16.5 preview 1或更高版本。
您需要在visual studio中启用设计器。转到“ 工具” >“ 选项” >“ 环境” >“ 预览功能”,然后选择“ 将预览windows窗体设计器用于.net core应用程序”选项。
然后,开始更新 vs 2019,点击导航栏的:工具 - 检查更新,发现新版本,更新之。
发现事情并不是那么简单,更新的是发布版本,只有预览版才有这功能,正式版本最高才 16.4.2。
解决办法
1.单独的vsix安装.net core windows forms设计器
2.项目做如下更改:
将
<targetframework>netcoreapp3.1</targetframework>
更改为
<targetframeworks>net472;netcoreapp3.1</targetframeworks>
重新编译之,报错如下:
- “application”未包含“sethighdpimode”的定义
- 当前上下文中不存在名称“highdpimode”
点击跳转到错误代码,注释之。
//application.sethighdpimode(highdpimode.systemaware);
再次双击“form1.cs”文件,就可以看到我们的设计器了,我们就可以拖拖控件了。如下图:
原文:
推荐阅读
-
使用NuGet将我们的ASP.NET Core类库打包并将程序包(类库)发布到NuGet平台上进行管理
-
[笔记]使用Docker部署.NET Core应用程序
-
Visual C#.Net 网络程序开发-Socket篇第1/2页
-
VS2015 搭建Asp.net core开发环境的方法
-
在Windows系统中构建还原ASP.NET Core 源码
-
在ASP.NET Core中使用托管启动(hosting startup)程序集,实现批量注册service
-
.net core控制台程序中使用原生依赖注入
-
c#开发的程序安装时动态指定windows服务名称
-
.NET Core / C# 开发 IOT 嵌入式设备的个人见解
-
.net core 定时程序