.net core 开发 Windows Forms 程序
我是一名 ASP.NET 程序员,专注于 B/S 项目开发。累计文章阅读量超过一千万,我的博客主页地址:https://www.itsvse.com/blog_xzz.html
引言
.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”插件,才能使用窗体设计器,使用拖拽控件的方式。
https://aka.ms/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”文件,就可以看到我们的设计器了,我们就可以拖拖控件了。如下图:

原文:https://down.itsvse.com/k/os0740.html
.net core 开发 Windows Forms 程序的更多相关文章
- 分析现有 WPF / Windows Forms 程序能否顺利迁移到 .NET Core 3.0
本文转自 https://blog.csdn.net/WPwalter/article/details/82859449 使用 .NET Core 3.0 Desktop API Analyzer 分 ...
- 【转】.net core开发windows服务
.net core开发windows服务 文建Blog
- 分析现有 WPF / Windows Forms 程序能否顺利迁移到 .NET Core 3.0(使用 .NET Core 3.0 Desktop API Analyzer )
今年五月的 Build 大会上,微软说 .NET Core 3.0 将带来 WPF / Windows Forms 这些桌面应用的支持.当然,是通过 Windows 兼容包(Windows Compa ...
- .NET开发Windows Service程序 - Topshelf
在实际项目开发过程中,会经常写一些类似定时检查,应用监控的应用.这类应用在windows平台通常都会写成window service程序. 在百度上搜索一下'c#开发windows service', ...
- VC++ 2013 开发windows窗体程序
开发工具版本:Visual Studio Express 2013 for Windows Desktop 1. 新建Visual C++下面的"Win32 Project" 2. ...
- Qt入门——使用QT+VS2008开发windows应用程序
1.文件->新建->项目 Qt4 Projects 右边已安装模板当中选择At Application. 确定 2.选择需要使用的QT库 下一步 3. “class name”:指定类的名 ...
- 如何为Windows Forms应用程序添加启动参数(Start-Up Parameters)
很多场合下,我们需要通过命令行或者快捷方式在Windows Forms程序启动时向其传递参数. 这些参数可能是用来加载某一个文档,或者是应用程序的初始化配置文件. 特别是对那些需要高度自定义配置的大程 ...
- 开发Windows程序的三种方式
软件开发方式一共有三种:SDK方式.MFC开发方式.托管环境的开发都是基于消息的开发 SDK方式 原装api的调用SDK方式使用C语言和Windows应用程序编程接口(Windows API)来开发W ...
- Windows Forms(二)
导读 1.用VS创建一个Windows Forms程序 2.分析上面的程序 3.Mediator pattern(中介者模式) 4.卡UI怎么办——BackgroundWorker组件 用VS创建一个 ...
随机推荐
- static静态变量在c++类中的应用实例
这个static 如果写在类中,那么就可以得到一个局部的静态变量,也就是说可以实现在类内保存某个特殊值不随函数释放而消失的作用.应用中由于赋初值的位置不对而报错,错误提示为:“无法解析外部符号 ... ...
- js中 call() 和 apply() 方法的区别和用法详解
1.定义 每个函数都包含俩个非继承而来的方法:call() 和 apply() call 和 apply 可以用来重新定义函数的的执行环境,也就是 this 的指向:call 和 apply 都是 ...
- python3中的继承和多态
*继承 当我们定义一个class的时候,可以从某个现有的class继承,新的class称为子类(Subclass),而被继承的class称为基类.父类或超类(Base class.Super clas ...
- ubuntu以root身份登录
- C语言遇到的关于清除标准输入缓冲区的问题[编程入门]
关于标准输入缓冲区的一个易犯的小错误 之前写了个简易的登录程序,但显然这不像写Java时那么容易(只要思路对,基本没问题).一不留神就出现了小BUG! 以下是错误的源代码: #include < ...
- jsp连接mysql案例
下载mysql-connector-java-5.1.26 将mysql-connector-java-5.1.26-bin.jar放在\jdk\jre\lib\ext中 -------------- ...
- centos 配置自动启动(nginx为例)
[Unit] Description=nginx After=network.target [Service] Type=forking ExecStart=/usr/local/nginx/sbin ...
- CCF_ 201509-3_模板生成系统
又是一道考验细心和耐心的题,不知道哪里出问题了,一直只有90分 = =! #include<cstdio> #include<iostream> #include<cst ...
- java2变量数据类型和运算符
public class jh_11_加加减减运算符 { public static void main(String[] args) { int a = 5,b =2 ; a ++;// 对自身 ...
- kendo ui - core
通过CDN 引入kendo-ui-core git地址:http://www.telerik.com/kendo-ui<link href="http://kendo.cdn.tele ...