我是一名 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 程序的更多相关文章

  1. 分析现有 WPF / Windows Forms 程序能否顺利迁移到 .NET Core 3.0

    本文转自 https://blog.csdn.net/WPwalter/article/details/82859449 使用 .NET Core 3.0 Desktop API Analyzer 分 ...

  2. 【转】.net core开发windows服务

    .net core开发windows服务 文建Blog

  3. 分析现有 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 ...

  4. .NET开发Windows Service程序 - Topshelf

    在实际项目开发过程中,会经常写一些类似定时检查,应用监控的应用.这类应用在windows平台通常都会写成window service程序. 在百度上搜索一下'c#开发windows service', ...

  5. VC++ 2013 开发windows窗体程序

    开发工具版本:Visual Studio Express 2013 for Windows Desktop 1. 新建Visual C++下面的"Win32 Project" 2. ...

  6. Qt入门——使用QT+VS2008开发windows应用程序

    1.文件->新建->项目 Qt4 Projects 右边已安装模板当中选择At Application. 确定 2.选择需要使用的QT库 下一步 3. “class name”:指定类的名 ...

  7. 如何为Windows Forms应用程序添加启动参数(Start-Up Parameters)

    很多场合下,我们需要通过命令行或者快捷方式在Windows Forms程序启动时向其传递参数. 这些参数可能是用来加载某一个文档,或者是应用程序的初始化配置文件. 特别是对那些需要高度自定义配置的大程 ...

  8. 开发Windows程序的三种方式

    软件开发方式一共有三种:SDK方式.MFC开发方式.托管环境的开发都是基于消息的开发 SDK方式 原装api的调用SDK方式使用C语言和Windows应用程序编程接口(Windows API)来开发W ...

  9. Windows Forms(二)

    导读 1.用VS创建一个Windows Forms程序 2.分析上面的程序 3.Mediator pattern(中介者模式) 4.卡UI怎么办——BackgroundWorker组件 用VS创建一个 ...

随机推荐

  1. 外网通过frp进行windows远程文件共享

    需求 远程访问位于内网中的文件.例如,家里,公司内. 所需技术 frp windows文件共享 具有公网地址的服务器一台 实现过程 windows文件共享,首先自己在局域网内实现.这不是本文重点. 公 ...

  2. Linux之时间同步操作

    Linux之时间同步操作 时间同步操作应用的命令 yum进行软件安装,软件安装过程中如遇到询问,一律选择y,ntp是时间同步命令 [root@localhost ~]# yum -y install ...

  3. 如何用Flink把数据sink到kafka多个(成百上千)topic中

    需求与场景 上游某业务数据量特别大,进入到kafka一个topic中(当然了这个topic的partition数必然多,有人肯定疑问为什么非要把如此庞大的数据写入到1个topic里,历史留下的问题,现 ...

  4. HDU 6562 lovers 2018CCPC吉林H(线段树)

    题意: 初始n个空串,m个操作: 1.给[l,r]的所有字符串头尾加一个‘d’,将原字符串x变为dxd 2.求[l,r]所有字符串代表的数字之和mod 1e9+7 思路: 据说是硬核线段树.. 对于线 ...

  5. Scala 学习(9)之「函数式编程」

    引用透明 对相同的输入,总是能得到相同的输出. 如果 f(x) 的参数 x 和函数体都是引用透明的,那么函数 f 是纯函数. 违反引用透明的例子 我们可以很清楚的看到,对于相同的输入,第二次调用app ...

  6. mount.nfs: Stale file handle的解决方法

    在NFS客户端挂载rpc共享服务的时候出现这个问题 # mount -t nfs 192.168.20.6:/data /mnt mount.nfs: Stale file handle 原因是当cl ...

  7. 编写windows服务程序

    2012-11-02 08:54 (分类:计算机程序) windows服务是一个运行在后台并实现勿需用户交互的任务的控制台程序,对于隐藏程序有很大帮助. 用了几天时间概括了编写windows服务程序的 ...

  8. [jQuery]入口函数(一) jquery.min.js 一定要单线程下载,复制粘贴容易入坑

    jQuery入口函数 等着DOM结构渲染完毕即可执行内部代码,不必等到所有外部资源加载完毕 $(function () { // 此处是页面DOM加载完成的入口 }); $(document).rea ...

  9. JVM性能优化系列-(5) 早期编译优化

    5. 早期编译优化 早起编译优化主要指编译期进行的优化. java的编译期可能指的以下三种: 前端编译器:将.java文件变成.class文件,例如Sun的Javac.Eclipse JDT中的增量式 ...

  10. Axer-使用Msfvenom自动创建有效负载的工具

    Axer-使用Msfvenom自动创建有效负载的工具 该axer将替换为有效的手动操作msfvenom,设置更容易和快了很多. AXER可以让您选择平台,格式,编码器,与另一个文件绑定以及许多其他功能 ...