本文由微信公众号《开发者精选资讯》翻译首发,转载请注明来源

今天我们很高兴地宣布,.NET Core项目的Windows窗体设计器现在可以在 Visual Studio 2019 16.6 版中作为预览使用!我们在Visual Studio 16.7 预览版1中也提供了更新的设计器版本!

不要忘记在“工具” > “选项” > “环境” > “预览功能”中启用设计器 。

许多人可能还记得我们在 开源Windows窗体 并将其移植到.NET Core 3.0的.NET Core中。从那时起,我们一直 在努力 将Windows 窗体设计器的引入.NET Core。当我们接近完成时,我们继续设计器开发,并计划在不久的将来带来更多的功能和性能改进。

如何使用窗体设计器

安装 Visual Studio 2019版本16.6 或 Visual Studio 2019版本16.7预览版1。

要在Visual Studio中启用设计器,请转到“工具” > “选项” > “环境” > “预览功能”, 然后选择 “将Windows Forms预览设计器用于.NET Core应用程序” 选项。

完成这些步骤后,在解决方案资源管理器中双击窗体后,设计器将自动以与.NET Framework应用程序相同的方式打开。

完成功能工作后,提高性能是我们的下一个目标,因此,如果设计者预览时的速度不如您想象的那么快,请不要感到烦恼,这是我们将来会改进的。

当前,新的Windows窗体设计器仅在Windows 10上有效。

设计器中可用的功能

  • 除了 DataGridView 和 ToolStripContainer 之外的所有Windows窗体控件(即将推出)

  • UserControl和自定义控件基础结构(仅Visual Studio 16.7 Preview 1版本可用)

  • 所有设计器功能,例如

    · 拖放

    · 选择,移动和调整大小

    · 剪切/复制/粘贴/删除

    · 与属性窗口集成

    · 事件生成等

  • 新增 WebView2 控件

    基于chromium的嵌入式浏览器控件,允许呈现.NET应用程序的Web内容(HTML / CSS / JavaScript)。Windows窗体和WPF应用程序的.NET Core和.NET Framework平台均支持。您可以 在Microsoft入门指南文档中找到,我们将在不久的将来发布专门针对WebView2控件的博客文章。

  • 本地资源

  • 对本地化的部分支持

    · 控件和UserControl的可本地化属性可以序列化为Resx文件(通过将Localizable 属性设置 为 true)。

    · 通过更改Language 属性支持不同的语言。

    · 根据Unicode标准国际组件(ICU)在.NET 5的预览中添加了其他功能。

接下来会发生什么

  • 项目资源
  • 完全本地化
  • 可继承的对话框支持
  • 数据绑定方案

    这项工作正在进行中,您已经可以在Visual Studio 16.7 Preview 1设计器中看到这些结果。
  • 第三方控件供应商支持

    我们正在与Progress Telerik,DevExpress和GrapeCity等控件供应商紧密合作,以在不久的将来为.NET Core和.NET 5项目在Windows Forms设计器中支持其控件。我们还与ActiPro,Infragistics和SyncFusion合作。在下图上,您可以看到Windows窗体应用程序中针对.NET 5的Progress Telerik控件。

16.6 GA版本中的新功能

在16.6版本中,进行了以下控件支持和改进。

  • 所有对话框控件
  • PropertyGrid
  • HScrollBar
  • VScrollBar
  • DomainUpDown
  • TrackBar
  • 拖放改进
  • 选中改进
  • 稳定性和错误修复

16.7 Preview 1版本中的新功能

在 16.7 Preview 1发行版中进行了以下控件支持和改进。

  • UserControl 和自定义控件基础结构
  • TableLayoutPanel
  • 第三方控件支持基础
  • 数据绑定支持基础
  • 使用 TableLayoutPanel 改进的设计器

给我们提交反馈

您的反馈意见对我们很重要!请报告问题并通过Visual Studio反馈通道发送功能请求。如下图所示,使用Visual Studio右上角的“发送反馈”图标,并指定它与“ WinForms .NET Core”区域。

关注微信公众号《开发者精选资讯》

[翻译]用于.NET Core的Windows窗体设计器发布的更多相关文章

  1. 在.NET Core 3.0 Preview上使用Windows窗体设计器

    支持使用基于Windows窗体应用程序的.NET Core 3.0(预览)的Windows窗体设计器 介绍 截至撰写本文时,Microsoft和社区目前正在测试.NET Core 3.0.如果您在.N ...

  2. Windows 窗体设计器(Windows Forms Designer)入门

      Visual Studio 2010 更新:2010 年 9 月 Windows 窗体设计器提供多个用于生成 Windows 窗体应用程序的工具. 本演练阐释如何使用设计器提供的各种工具生成应用程 ...

  3. Windows 窗体设计器生成的代码

    namespace 窗体的浮动及隐藏{    partial class Form1    {        /// <summary>        /// 必需的设计器变量.      ...

  4. Windows 窗体设计器中的设计时错误

    当修改窗体里面某一项时导致窗体报错,但是编译运行没问题,报"依赖项问题"则只需要把报错的那个依赖项删除后再重新引用.

  5. 通过用 .NET 生成自定义窗体设计器来定制应用程序

    通过用 .NET 生成自定义窗体设计器来定制应用程序 https://www.microsoft.com/china/MSDN/library/netFramework/netframework/Cu ...

  6. C#用DesignSurface实现一个简单的窗体设计器

    System.ComponentModel.Design.DesignSurface是为设计组件提供一个用户界面,通过它可以实现一个简单的窗体设计器. 在构建之前,我们需要引入System.Desig ...

  7. 解析大型.NET ERP系统核心组件 查询设计器 报表设计器 窗体设计器 工作流设计器 任务计划设计器

    企业管理软件包含一些公共的组件,这些基础的组件在每个新项目立项阶段就必须考虑.核心的稳定不变功能,方便系统开发与维护,也为系统二次开发提供了诸多便利.比如通用权限管理系统,通用附件管理,通用查询等组件 ...

  8. C#基础系列:开发自己的窗体设计器(PropertyGrid显示中文属性名)

    既然是一个窗体设计器,那就应该能够设置控件的属性,设置属性最好的当然是PropertyGrid了,我们仅仅需要使用一个PropertyGrid.SelectedObject = Control就可以搞 ...

  9. WinForm编程时窗体设计器中ComboBox控件大小的设置

    问题描述: 在VS中的窗体设计器中拖放一个ComboBox控件后想调整控件的大小.发现在控件上用鼠标只能拖动宽度(Width)无法拖动(Height). 解决过程: 1.控件无法拖动,就在属性窗口中设 ...

随机推荐

  1. Windows 切换 working directory

    用函数 _chdir() 例如用计划任务启动,pwd 是 system32 使用相对路径的地方会出错. 在 main 函数刚启动的时候转换一下 working directory 可解.

  2. poj_2393 Yogurt factory 贪心

    Yogurt factory Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 16669   Accepted: 8176 D ...

  3. .net多线程归并排序

    一.概述 在了解排序算法的同时,想到用多线程排序减少排序的时间,所以写了一个简单的示例,加深印象.下面是具体代码 二.内容 环境:vs2017,.net  core 2.2 控制台程序. 运行时使用r ...

  4. php数组存在重复的相反元素,去重复

    $arr1=array('a_b','c_d','b_a','d_c'); $arr2=array('a_b','c_d','b_a','d_c'); 条件: a_b==b_a:c_d==d_c: 需 ...

  5. TCP连接过程及报文解析

    可能大家都听过TCP建立连接时需要经历三次握手和四次挥手的. 那么具体的握手挥手的过程是怎么样的呢? 这篇文章就通过WireShark抓包来了解TCP连接建立和断开的过程. 实验方法: 写一段简单的代 ...

  6. python——import日常学习记录

    import为导入包,有两种方法,一个是import,一个是from ** import  ** import后紧跟着的是个模块,一般是一个.py文件下的类名: from *** import *** ...

  7. Android 开发技术周报 Issue#278

    新闻 Pixel 4a渲染图曝光:或能成新款iPhone SE有力竞争者 Google Play商店为预注册的游戏和应用提供自动安装功能 Android最强单摄Pixel 4a样张曝光:1200万像素 ...

  8. EOS基础全家桶(十)交易Action操作

    简介 区块链上的所有操作都是通过交易(Transaction)上链的,无论你是转账交易还是发起的智能合约的调用,而EOS和传统区块链不同的是EOS在一个交易里可以发起多个行为(Action),这使得E ...

  9. 前端【JS】,深入理解原型和原型链

    对于原型和原型链,相信有很多伙伴都说的上来一些,但有具体讲不清楚.但面试的时候又经常会碰到面试官的死亡的追问,我们慢慢来梳理这方面的知识! 要理解原型和原型链的关系,我们首先需要了解几个概念:1.什么 ...

  10. [C#]基础——注意事项

    1. 静态类必须直接继承Object 2. 静态类不能实现接口,不能继承其他类(除了Object) 3.静态类中不能有实体方法 4.实体类中可以有静态方法,使用同 静态类 5.readonly属性可以 ...