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

今天我们很高兴地宣布,.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”区域。

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

最新文章

  1. javascript bind
  2. 分享一个js中的bind方法使用
  3. 【leetcode】Distinct Subsequences(hard)
  4. 修改ECSHOP后台的商品列表里显示该商品品牌
  5. 关于css3的自定义字体
  6. 【POJ】【1635】Subway Tree Systems
  7. 【JavaScript】jQuery Ajax 实例 全解析
  8. 页面table的每行都有一个<input type='button' />,如何实现点击按钮在按钮下方弹出一个div,点击空白消失
  9. 【锋利的JQuery-学习笔记】切换网页皮肤-且保存于Cookie
  10. [改善Java代码]警惕自增的陷阱
  11. VisualC#数据库高级教程文档分享
  12. Jetty:开发指导Handlers
  13. Storm Topology Parallelism
  14. jmeter生成html格式接口自动化测试报告
  15. Kafka技术内幕 读书笔记之(三) 消费者:高级API和低级API——消费者消费消息和提交分区偏移量
  16. FieldGroup绑定的日期类型存储格式的问题
  17. (七)dubbo服务集群实现负载均衡
  18. 第三部分:Android 应用程序接口指南---第三节:应用程序资源---第一章 资源提供
  19. javascript 模块化学习:Class打包出来无法实例化问题
  20. 阿里云设置CDN加速访问OSS文件

热门文章

  1. .Net平台GC VS JVM垃圾回收
  2. Spring5参考指南:基于Schema的AOP
  3. 初篇:我与Linux
  4. Omnicore RPC API中文文档
  5. Linux开发初探
  6. EntityFramework 迁移遇到的问题
  7. 【Java新特性】Lambda表达式典型案例,你想要的的都在这儿了!!
  8. A Simple Problem with Integers 循环节 修改 平方 找规律 线段树
  9. CSS 块元素、内联元素、内联块元素三者的区别与转换
  10. LTE基站开局流程