vs winform常用函数_使用.net core3.0 正式版创建Winform程序

前阵子一直期待.net core3.0正式版本的出来,以为这个版本出来,Winform程序又迎来一次新生了,不过9.23日出来的马上下载更新VS,创建新的.net core Winform项目,发现并没有Winform窗体设计器。而微软目前则是通过插件的方式,让我们单独下载Winform设计器,这个设计器还是预览版本,很多功能还是没有实现的,只能算是一个简单的雏形,本博客案例介绍基于.net core3.0创建一个普通的WInform程序,让大家了解下基于.net core3.0创建的程序的大概模样。

1、开发环境的准备

要做基于.net core3.0的WInform开发,需要首先更新你的Visual Studio到16.3,这个版本是整合.net core3.0的,因此也是能够开发.net core Winform程序的基础。

其次是下载winforms-designer插件,这个是支持对Winform窗体的设计器,让我们可以通过拖动控件的方式进行界面的设计开发。

.NET Core Windows Forms 可视化设计器在将来一定是未来的Visual Studio 2019更新的一部分,但目前来说,想要可视化设计器,需要一个预发布的Visual Studio扩展。

完成这两个步骤,其他开发就和我们普通创建VS项目一样的。

e77006198ad2f59839ed819980778b96.png

 创建项目后,我们可以打开对应的Winform窗体,并可以在工具箱里面看到一些Winform界面控件,好的是控件的大概和以前差不多,不好的事情是少了很多常规Winform控件,这个也是目前WInform 设计器处于开发预览版的原因所在吧。

a8a521695a4960d1c74fb8691171a1e0.png

2、创建一个WInform程序

为了创建一个简单测试的WInform程序,我们可以往里面添加一些WInform的界面控件,不过使用过程中,发现很多界面所需元素没有提供界面控件的支持,包括工具栏、属性里面都还不完善,如ImageList对象和Image对象的属性支持等,我们只能通过代码的方式进行使用。

我创建一个简单的WInform界面,拖动了一些常规的控件,但是一些控件需要使用图片的,如ListView、PictureBox等这些,需要通过代码设置(无法通过属性加入的方式指定图片)

a30111f6e2d34aec79eae6b1c88bec78.png

最后界面展示效果如下所示。

31b7f7089ca0ef24aaffd747b997747d.png

 窗体源码如下所示。

756757424ae233b768ad0b558bb5f97f.png

从中我们可以看到,.net core下的WInform程序,它的窗体元素或者相关对象,没有发生不一致命名的情况,用起来还是非常方便一致的,不过就是对应很多界面的功能,目前只能通过后台代码的方式进行补充,才能实现一个比较完整的效果,和.net Framework框架下已经完善的非常好的Winform开发,真的是差距不是一点半点,看来.net core winform开发的路还是很漫长,需要在工具层面更多的支持才行。

界面方案里面,我们看到命名空间也比以前少了很多了了。主要还是基于.net core 提供的WInform包。

2d414c3aef64672659464ad0b8e62548.png

我们再来看看程序目录下的文件如下所示。

420f72cd52e96c7e1dc0e6ebe7e30de0.png

由于目前我们还没有考虑第三方的.net core 层面的类库,因此这里没有使用第三方的DLL,以后整合的话,第三方相关的引用也是一个非常头大的问题,如果大多数常用的类库都有基于.net standard 的类库支持,那倒是好,否则可能会面临两难的抉择,不过.net core的Winform开发我觉得还是很值得期待的,毕竟引入一个整体的.net core开发路线,对企业或者个人来说,都是一个非常不错的开发场景。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/567619.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VScode中编写运行C/html文件

VScode运行C程序的所需配置 VScode只是一个编辑器,并不自带C编译器,所以需要 下载mingw 下载安装版本或者压缩文件,解压缩后,配置系统的环境变量。 path中添加mingw/bin的路径 新建include变量,添加mingw/include的路径…

linq结果转换object_你知道Object.entries(),但你还知道有Object.fromEntries()吗?

我们得到 object.entries(),它转换一个object → array。但是,如果您想做相反的事情怎么办?不用再想了! 使用 Object.fromEntries() 来array → object 。const keyValuePair [ [cow, ], [pig, ],];Object.fromEntries(keyValu…

C语言中数组越界访问造成死循环现象

大家请看这样一段代码&#xff08;工具&#xff1a;VC6.0&#xff09;&#xff1a; #include <stdio.h> int main(int argc, char *argv[]) { int i; int arr[10];/* 这里注意循环变量i与数组arr的定义顺序 */ for(i 0; i < 10; i)/* 这里越界了 */ …

java 同步锁_Java多线程:synchronized同步锁的使用和实现原理

作用和用法在多线程对共享资源进行并发访问方面&#xff0c;JDK提供了synchronized关键字来进行线程同步&#xff0c;实现多线程并发访问的线程安全。synchronized的作用主要体现在三个方面&#xff1a;(1)确保线程互斥地访问同步代码&#xff1b;(2)保证共享变量的线程可见性&…

java基础代码实例_基础篇:详解JAVA对象实例化过程

1 对象的实例化过程对象的实例化过程是分成两部分&#xff1a;类的加载初始化&#xff0c;对象的初始化要创建类的对象实例需要先加载并初始化该类&#xff0c;main方法所在的类需要先加载和初始化类初始化就是执行方法&#xff0c;对象实例化是执行方法一个子类要初始化需要先…

搭建webUI自动化及问题解决:Message: ‘chromedriver‘ executable needs to be in PATH.解决办法

搭建webUI自动化环境 1、conda install selenium即可。 若出现&#xff1a;Message: chromedriver executable needs to be in PATH.Please see https://sites.google.com/a/chromium.org/chromedriver/home。 报错原因&#xff1a;没有配置chrome浏览器的chromedriver 解决…

C语言-字符串处理函数strcpy

strcpy 原型&#xff1a;strcpy(char destination[], const char source[]); 功能&#xff1a;将字符串source拷贝到字符串destination中。此处将source中的字符串结束标志符‘\0’也一同复制。所以在输出时&#xff0c;切不可以用‘\0’&#xff0c;puts&#xff0c;printf输…

C语言-字符串处理函数strcat

strccat-字符串拼接函数 char*strcat(char* strDestination, const char* strSource); 参数说明&#xff1a; strDestination&#xff1a;目的字符串&#xff1b;strSource&#xff1a;源字符串。 strcat() 函数把 strSource 所指向的字符串追加到 strDestination 所指向的字…

js数组截取前5个_我不能没有的5个Vue.js库

1.Click Off to Close有的时候&#xff0c;我们需要在用户点击元素之外的时候触发一个事件。最常见的用例是当你想通过点击关闭一个下拉框或对话框时。这是一个必不可少的包&#xff0c;几乎在我构建的每个应用中都会用到。首选&#xff1a;vue-clickawayhttps://github.com/si…

this.$router.push如何刷新页面_小程序丨微信小程序如何实现页面下拉刷新

微信小程序蕴含着众多功能&#xff0c;本期将简单介绍实现页面下拉刷新的方法&#xff0c;通过阅读本文&#xff0c;读者们可以自行动手操作&#xff0c;在实践中认识微信小程序。首先&#xff0c;我们需在json配置中写出以下配置&#xff1a;"enablePullDownRefresh"…

C语言-字符串处理函数strcmp

strcmp-字符串比较函数 原型&#xff1a;int strcmp(const char firststring[], const char secondstring); 功能&#xff1a;比较两个字符串firststring和secondstring 如果等于 返回值为0 如果字符串1大于字符串2 函数值返回为1 如果字符串1小于字符串2 函数值返回为-1 …

导出excel数字前面的0消失_Excel操作中常见的3大坑你遇到过吗?遇到应该这么解决...

在excel中的我们获取数据的方式一是自己录入数据&#xff0c;二是通过网络或其他的途径导出的源数据&#xff0c;不管哪种的方式&#xff0c;对我们处理数据的来说都十分重要&#xff0c;这里我们需要注意这些点并成功跳过这些不按原理只按自己习惯的坑。今天要聊的坑有3个&…

matplot绘制图形入门

一、折线图 """ File: 折线图.py Author: chde_wang Date: 2021-05-23 22&#xff1a;26&#xff1a;04 Description: """ # 绘制折线图 import numpy as np import matplotlib.pyplot as plt x np.linspace(0, 2 * np.pi, 100) y1, y2 np.si…

kafka使用_Kafka介绍与使用

最近在研究kafka&#xff0c;觉得需要输出点东西才能更好的吸收&#xff0c;遂总结与大家分享&#xff0c;话不多说。一、先上思维导图&#xff1a;二、再上kafka整体架构图&#xff1a;2.1、Producer&#xff1a;消息生产者&#xff0c;就是向kafka broker发消息的客户端。2.2…

linux 关闭端口_手把手教你在Linux中快速检测端口的 3 个小技巧

一个执着于技术的公众号前言 无论是要解决网络连接问题还是配置防火墙&#xff0c;第一件事是要检查系统实际打开了哪些端口。本文介绍了几种快速查找 Linux 系统上哪些端口向外部开放的方法。什么是开放端口 监听端口是应用程序监听的网络端口。你要得到的监听端口名单通常可以…

2020-11-20

ln -s /bis_data/mysql/tmp/mysql.sock /tmp/ find / -name mysql.sock 2>/dev/null

未能找到程序集“platform.winmd_应用程序崩溃后 微软错误报告工具到底是如何联机检查解决方案的?...

在 Windows 应用意外崩溃后&#xff0c;系统似乎会努力地寻找解决方案。但是在绝大多数情况下&#xff0c;这一切都是徒劳的&#xff0c;并不会向用户给出任何结果。即便如此&#xff0c;很多人还是想要知道这个无效的过程期间到底都发生了什么。好消息是&#xff0c;近日微软 …

mysql索引创建和使用注意事项

总结&#xff1a; 1、在使用索引时&#xff0c;一般情况下不建议使用like操作。如果使用&#xff0c;则%放在后面。否则不会使用索引。like ‘%abd%’不会使用索引,而like ‘aaa%’可以使用索引.&#xff08;最左缀原则&#xff09; 2、单列索引的使用&#xff1a; 《1》 只…

不同存储结构的文件磁盘io操作次数_MySQL InnoDB存储引擎

第1章 MySQL体系结构和存储引擎1.1数据库和实例数据库&#xff1a;物理操作系统文件或其他形式文件类型的集合。实例&#xff1a;MySQL数据库由后台线程以及一个共享内存区组成。共享内存可以被运行 的后台线程所共享。数据库实例才是真正用于操作数据库文件的。启动MySQL数据库…

win10-PC端无法输入中文

试过 任务管理器中&#xff0c;的 MscCtfMonitor任务&#xff0c;先选择结束&#xff0c;然后再选择运行。关闭后输入法就可重新使用了---不行 当出现Win10无法输入中文汉字时&#xff0c;首先我们需要重启一下“输入法”程序&#xff1a; 右击桌面“Windows”图标&#xff0c…