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

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

1.vs2017的安装

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

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

菜单——>工具——>获取工具和功能…
菜单↑
工具↑
获取工具和功能...对话框↑
增加以上内容中的红色部分↑。
选择右下角“修改”↑
下载并安装所需的功能组件↑

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

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

C#界面开发工具↑

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

新建C#界面开发工程↑
步骤分别为:选择开发语言、选择开发类型、现在项目的路径及名称

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

新建的C#form开发工程↑
写在最脑补的部分——针对那些对软件系统为0基础或者负基础的小伙伴

 /*此处不对代码作说明,因为到这一步,所产生的代码均为系统生成!*/
 //在此主要是说明思路
 在此做个大胆而开脑的比喻
                                               西安市教育局需要建一座办公大楼

   a.建筑所需要的原材料(各种资源RES)      b.建筑图纸(designer)   c.使用这座大楼的使用者(建筑功能)       d.省教育厅(启动项目Program)

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

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

(4)在窗体上增加内容

调出开发工具箱,(如果你的开发窗口右侧和我一样,什么都没有)
开发界面没有工具箱↑
菜单——>视图——>工具箱
调出工具箱↑

1)增加一个按钮

增加按钮
点击后在界面上会出现一个按钮,右键属性,修改其名称、ID、能实现的功能…
增加按钮button1↑
通过以上步骤,完成的仅仅是在地基上放置了实体(如安装一扇门、一个开关)

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

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

3)运行

直接点击运行,因为我们的项目中只有一个简单窗口和按钮
运行↑
数秒后弹出新建的窗口!!
生成窗口↑
点击按钮后,窗口会关闭!(这不是废话,我们做的就是什么个功能)
至此我们,已经搭建了最最最简单的一个界面。

4.写在最后的话

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

5.注释

(1)新建一个类
新建一个类↑
新建一个类,修改名称为DataClass ↑
新进类出现在项目列表中

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

  • 6
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

rexinx

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值