本次开发使用的开发环境为:win10 64位,vs2017 64位,OpenCV341

1.vs2017的安装

安装环境的配置,网上有很多教程,在此仅做以引用,唯一需要注意的是——安装完毕后需要对电脑进行重启
参考链接:https://blog.csdn.net/fengbingchun/article/details/83990685
需要注意的是,对上文中的第六步需要选择如下:

2.如果本机已有vs2017,增加C#界面开发工具

菜单——>工具——>获取工具和功能…



增加以上内容中的红色部分↑。

3.使用C#界面开发工具

(1)使用C#界面开发工程

(2)新建C#界面开发工程


步骤分别为:选择开发语言、选择开发类型、现在项目的路径及名称

(3)新建的C#form开发工程


写在最脑补的部分——针对那些对软件系统为0基础或者负基础的小伙伴

 /*此处不对代码作说明,因为到这一步,所产生的代码均为系统生成!*///在此主要是说明思路在此做个大胆而开脑的比喻西安市教育局需要建一座办公大楼a.建筑所需要的原材料(各种资源RES)      b.建筑图纸(designer)   c.使用这座大楼的使用者(建筑功能)       d.省教育厅(启动项目Program)梳理清楚这个思路,我们会发现:
(1)建筑项目的启动方(Program),只能又一个,而且系统以及帮我们自动生成
(2)各种资源(res)是展示给最终的实体,是必要条件
(3)建筑图纸,可以是很多份,如果设计足够复杂,可能会分包给多个建筑部分,那么各自的图纸(designer)使用各自的资源(砖瓦水泥钢筋...)
(4)建好的大楼,最终是满足使用者,在教育局内部可能会分为对个小部门,各个科室之间需要自己特点的功能,每个部门有可能使用不同的设计图纸(designer),这样可以满足个性化功能的需求(如可调要装在哪里、开关在哪里...)
(5)最主要的是:各个部门之间是独立的部门(使用者,不再是建设者),如果各部门要实现信息的互通有无,相对比难,此时如果部门超过三个需要建立一个专门负责沟通的部门,用来实现各个部门实体和信息的交流(如大家共用一台打印机、行政部发发布放假通知需要每个部门的人都知道)

通过以上的废话(如果你有耐心将其看完,并理解一二),那么真正的界面开发,你已经达到很高的理解水平了,而且基于触类旁通的思想,其他界面开发(MFC、qt等)均为此思路。如果条件允许,我会将这些内容做成图片或者动画,方便理解。

(4)在窗体上增加内容

调出开发工具箱,(如果你的开发窗口右侧和我一样,什么都没有)

菜单——>视图——>工具箱

1)增加一个按钮


点击后在界面上会出现一个按钮,右键属性,修改其名称、ID、能实现的功能…

通过以上步骤,完成的仅仅是在地基上放置了实体(如安装一扇门、一个开关)

2)增加一个按钮,并实现关闭窗口的功能

按钮
应该包含两部分:a.在哪里放、大小、显示什么字、颜色等  b.按钮要实现什么功能
显而易见,主要是按钮的功能,其最终应该是由使用者来定义。

通过双击拖进的按钮,会出此现功能编辑

3)运行

直接点击运行,因为我们的项目中只有一个简单窗口和按钮

数秒后弹出新建的窗口!!

点击按钮后,窗口会关闭!(这不是废话,我们做的就是什么个功能)
至此我们,已经搭建了最最最简单的一个界面。

4.写在最后的话

从上面的例子可以看出,最贱的一个界面已经搭建完成。
但是,为什么我们看到的实际项目中都非常多的功能,通过此节的学习我们能不能也实现呢,答案是肯定的。
界面搭建的核心是逻辑!!
只要梳理清楚逻辑,一切都是稍加练习的事情。
基于上面的思路,我们可以这么想象,我们可不可以把第一个默认的界面,制作成一个引导界面(大楼的门卫室),其他任何的功能都在其后面实现,其实很多界面的开机画面就是这么一个机理。其次,我们通过这个引导界面(门卫室),通过点击(或者其他操作)进入到不同的新界面,这样工程就看起来像那么回事了嘛!再此,有了这些“部门”(不同的窗体——所谓不说人话的称呼法),各部门可以实现自己的功能(如:图像处理、图像采集、数值计算…)但是有些功能是大家共用的(如公共的打印机),有些信息也是大家共用(放假通知这样的主要信息,必然书都不想错过!)。这要怎么实现呢,显而易见,在每个部门内部是不可能了,此时我们需要建立一个独立于任何部门的“部门”,它的工作技术传递这些东西,必然我们建立一个新的类【见注释1】,专门存放各种变量(放假通知),然后每个部门均可以访问(就是看——为什么我也开始不说人话);或者我们建立一个“部门”,过来放置打印机,所有部门均可以使用,而不属于那个部门。是不是这个思路一下子就开阔了。
注:有的同学可能会说,具体的功能,怎么做呢,这个就和自己的项目需求有关的,如果我们的项目是控制地铁刷卡门那么,我们的按钮都不需要了,通过读取地铁口的信息,做信息比对,扣费,开门,显示开门图案,显示卡上余额(越多看起来心情越舒畅)!
至此,我们可以思考一个较负责的界面应该如何构建,下面这个界面,可以着手试试了

5.注释

(1)新建一个类



在数据类(这个独立的放置信息的“部门”中新建两个数据(两个信封——其内部没有信息,但是可以存放信息——存放工资)↑

(0)C#开发环境构建——史上最容易理解的C#界面搭建相关推荐

  1. 手把手教你从头开始搭建友善之臂ARM-tiny4412开发环境(史上最详细!!)

    创建一个ARM目录 mkdir   /disk/A9  -p 接下来你需要准备以下的东西 1.arm-linux-gcc-4.5.1     交叉编译器 2.linux-3.5-tiny4412    ...

  2. 友善之臂编linux内核,手把手教你从头开始搭建友善之臂ARM-tiny4412开发环境(史上最详细!!)...

    在命令行中输入: minicom -s ┌─────[configuration]──────┐ │ Filenames and paths │ File transferprotocols │ Se ...

  3. webpack最新版本_webpack小结-开发环境构建优化

    刚刚对我们前端项目做了一顿分析优化操作,因为接手时每次构建要花两分钟左右的时间,实在忍受不了,只能动手了.通过这次优化,重新温习了下 webpack 的一些知识.接下来会关于 webpack 展开写几 ...

  4. 51单片机仿真开发环境构建实验

    51单片机仿真开发环境构建实验目录 实验目的 一.实验步骤 Step1:之前Debug,USE里面没有Proteus VSM Monitor Driver Step2:把VDM51.dll复制到Pro ...

  5. c语言 vc++6.0集成开发环境的使用,VC6.0集成开发环境的使用.ppt

    <VC6.0集成开发环境的使用.ppt>由会员分享,可在线阅读,更多相关<VC6.0集成开发环境的使用.ppt(11页珍藏版)>请在人人文库网上搜索. 1.VC6.0集成开发环 ...

  6. 转自:拜小白教你OpenCV3.2.0+VS2017开发环境配置

    拜小白教你OpenCV3.2.0+VS2017开发环境配置 本文转载自<拜小白教你OpenCV3.2.0+VS2017开发环境配置>.转载链接. https://blog.csdn.net ...

  7. c语言程序构建,c语言开发环境构建及简单的c程序设计.doc

    c语言开发环境构建及简单的c程序设计 实验x C语言开发环境构建及简单的C程序设计 一.实验目的 1.熟悉字符模式下的C程序编译和调试环境,基本掌握麒麟Linux字符模式下的编译工具和调试工具的使用: ...

  8. IM开发宝典:史上最全,微信各种功能参数和逻辑规则资料汇总

    1.引言 IM应用的初学者们,在补全了各种基础技术知识后(如果您仍不具备这些知识,建议马上阅读<新手入门一篇就够:从零开发移动端IM>),在动手编码实践时,很多时候纠结的并不是功能该如何实 ...

  9. 构建开发环境 构建demo_构建自己的wotsapp第6部分

    构建开发环境 构建demo I should start this article with a disclaimer: It is based on iOS 13, Swift 5, and Xco ...

最新文章

  1. Oracle Mutex 机制 说明
  2. IIS 权限错误(401.1 401.2 401.3)解决办法
  3. css 深度选择器 ,CSS的coped私有作用域和深度选择器
  4. Bootstrap 工具提示插件
  5. 微服务升级优点_SpringCloud微服务架构升级总结
  6. OS - 计算机组成原理及CPU主频揭秘
  7. 华三交换机上传文件和删除文件
  8. 火狐浏览器设置背景图片
  9. 空中网创始人杨宁:忽悠就是融资能力
  10. 将unity地形转换为mesh
  11. 程序猿头头(object与数组的简单应用)
  12. redux 常见问题
  13. Linksys WRT54G 路由器溢出漏洞分析—— 运行环境修复
  14. seaborn绘图基础介绍
  15. SkyLight 添加LightingChannelMask功能
  16. 如何在官网下载java JDK或JRE的历史版本
  17. 用tensorflow进行数据增强
  18. 在DNS服务器上动态注册失败,活动目录向DNS注册SRV记录不成功的原因
  19. 个人对粗糙集的一些理解和简单举例
  20. 关于STM32的IIC跟EEPROM通信为什么卡死在while(I2C_CheckEvent)的EV6事件还有为什么检测的是标志位及其怎样写等待写入操作完成函数问题跟解决方法

热门文章

  1. k8s中hostname, hosts文件, DNS和代理问题, service和pod的访问问题
  2. springdata和mysql_Spring Boot使用Spring Data JPA访问MySQL数据库
  3. 【转载】asp.net core 入门
  4. 关于 min_25 筛的入门以及复杂度证明
  5. selenium webdriver 右键另存为下载文件(结合robot and autoIt)
  6. 三大框架ssh整合(一)
  7. spring思想分析
  8. Linux下的lds链接脚本简介(三)
  9. ubuntu查看文件大小
  10. DevExpress lookupedit下拉列表不显示内容的问题