目录

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

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

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

1.vs2017的安装

安装环境的配置,网上有很多教程,在此仅做以引用,唯一需要注意的是—— 安装完毕后需要对电脑进行重启

参考链接:

需要注意的是,对上文中的 第六步 需要选择如下: https://i-blog.csdnimg.cn/blog_migrate/8927b61c771095af8421dab1a2fbaeb7.png

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

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

https://i-blog.csdnimg.cn/blog_migrate/d13ca5aa2002d889ca7880b4a05a4114.png

https://i-blog.csdnimg.cn/blog_migrate/6da69be5a15850dab0de9bd80b7d181d.png

https://i-blog.csdnimg.cn/blog_migrate/3d91829f652331582f34cf4cdfb51fea.png

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

https://i-blog.csdnimg.cn/blog_migrate/f106378dd42178768cf0decb166006ea.png

https://i-blog.csdnimg.cn/blog_migrate/64816c742d0b89ee0812a956e8cc7e07.png

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

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

https://i-blog.csdnimg.cn/blog_migrate/8648a7d7cc68d537ca176933880aac60.png

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

https://i-blog.csdnimg.cn/blog_migrate/0256b4edc5b30257746750705885b677.png

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

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

https://i-blog.csdnimg.cn/blog_migrate/e7225669a5039ab6fc08ce00a0b8e047.png

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

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

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

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

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

(4)在窗体上增加内容

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

https://i-blog.csdnimg.cn/blog_migrate/8e90dff6e62aadee6a5db5134a4ef5ad.png

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

https://i-blog.csdnimg.cn/blog_migrate/9fb2e6623fdb48f5afd71914ca4ae904.png

1)增加一个按钮

https://i-blog.csdnimg.cn/blog_migrate/03d3f9972d7b3d150cd9965bbbf9b5f8.png

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

https://i-blog.csdnimg.cn/blog_migrate/8fa8368fa8e0a76b98b11a5818e14d57.png

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

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

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

https://i-blog.csdnimg.cn/blog_migrate/933341b75918328421c411222804a005.png

3)运行

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

https://i-blog.csdnimg.cn/blog_migrate/fb44eb3de7e65b7dff7841b52107ea72.png

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

https://i-blog.csdnimg.cn/blog_migrate/87d718c9c35c33392c70c8a96da0e265.png

点击按钮后,窗口会关闭!(这不是废话,我们做的就是什么个功能)

至此我们,已经搭建了最最最简单的一个界面。

4.写在最后的话

从上面的例子可以看出,最贱的一个界面已经搭建完成。

但是,为什么我们看到的实际项目中都非常多的功能,通过此节的学习我们能不能也实现呢,答案是肯定的。

界面搭建的核心是逻辑!!

只要梳理清楚逻辑,一切都是稍加练习的事情。

基于上面的思路,我们可以这么想象,我们可不可以把第一个默认的界面,制作成一个引导界面(大楼的门卫室),其他任何的功能都在其后面实现,其实很多界面的开机画面就是这么一个机理。其次,我们通过这个引导界面(门卫室),通过点击(或者其他操作)进入到不同的新界面,这样工程就看起来像那么回事了嘛!再此,有了这些“部门”(不同的窗体——所谓不说人话的称呼法),各部门可以实现自己的功能(如:图像处理、图像采集、数值计算…)但是有些功能是大家共用的(如公共的打印机),有些信息也是大家共用(放假通知这样的主要信息,必然书都不想错过!)。这要怎么实现呢,显而易见,在每个部门内部是不可能了,此时我们需要建立一个独立于任何部门的“部门”,它的工作技术传递这些东西,必然我们建立一个新的类【见注释1】,专门存放各种变量(放假通知),然后每个部门均可以访问(就是看——为什么我也开始不说人话);或者我们建立一个“部门”,过来放置打印机,所有部门均可以使用,而不属于那个部门。是不是这个思路一下子就开阔了。

注:有的同学可能会说,具体的功能,怎么做呢,这个就和自己的项目需求有关的,如果我们的项目是控制地铁刷卡门那么,我们的按钮都不需要了,通过读取地铁口的信息,做信息比对,扣费,开门,显示开门图案,显示卡上余额(越多看起来心情越舒畅)!

至此,我们可以思考一个较负责的界面应该如何构建,下面这个界面,可以着手试试了 https://i-blog.csdnimg.cn/blog_migrate/a03d21bb08c6902c65c106ef4dce12c3.png

5.注释

(1)新建一个类

https://i-blog.csdnimg.cn/blog_migrate/d036bd20c5a68c9746db8dfff1e3e6a0.png

https://i-blog.csdnimg.cn/blog_migrate/308646101a05adfeb5839324664e5623.png

https://i-blog.csdnimg.cn/blog_migrate/0e06b6f0a2ca76fa8df2e411b72da0cc.png

https://i-blog.csdnimg.cn/blog_migrate/c608f2d7c7f0ee3fac68414167a548d7.png