课程介绍
本课程以智能化上位机开发为核心,全面覆盖从基础知识到实战应用的所有环节。无论你是初学者还是有经验的开发者,都能在本课程中找到适合你的内容。课程主要内容包括:
控件综合应用:详细讲解常用控件(如DataGridView、ListView等)的使用方法与优化技巧,深入探讨控件命名规范及动态数据绑定。
数据库操作:从SQL Server的安装到T-SQL脚本编写,全面掌握数据库的创建、管理与优化。
通信协议实战:重点分析Modbus协议与RS-485串口通信,带你完成从基础到进阶的开发实践。
项目分层设计:从框架搭建到三层结构优化,帮助你构建高效、可维护的上位机软件体系。
综合项目实战:以温湿度设备为案例,系统讲解UI设计、通信类封装与程序调试,完成一个完整的上位机开发项目。
课程注重理论与实践相结合,每一节课都包含详细的代码示例和操作演示,帮助学员快速掌握并应用到实际项目中。如果你希望深入学习上位机开发的关键技术,构建智能化的应用程序,这门课程将是你最佳的选择!
课程目录
├─1:1-00.1【学习须知】什么是上位机开发
├─1:10-01.3【环境熟悉】2Debug和Release的区别
├─1:100-16.2【控件综合】2TabControl容器控件的使用
├─1:101-16.3【控件综合】常用8大控件
├─1:102-16.4【控件综合】1DataGridView样式设置常用方法
├─1:103-16.4【控件综合】2List做数据源在dgv中显示数据
├─1:104-16.5【控件综合】1控件的命名规范
├─1:105-16.5【控件综合】2下拉框控件数据源动态绑定与获取
├─1:106-16.5【控件综合】3文件打开选择对话框的使用
├─1:107-16.6【控件综合】主窗体退出的正确逻辑设计与对话框
├─1:108-16.7【控件综合】Button扁平化设计新风格专题
├─1:109-16.8【控件综合】ListView列表视图使用专题
├─1:11-01.4【环境熟悉】1NET程序的二次编译过程分析
├─1:110-16.9【控件综合】MenuStrip和ToolStrip
├─1:111-16.10【控件综合】1CheckListBox和ListBox控件
├─1:112-16.10【控件综合】2三个文本框控件的对比讲解
├─1:113-16.10【控件综合】3其他5个控件介绍(包括Timer)
├─1:114-17.1【数据库基础】数据库相关的概念和常识了解
├─1:115-17.2【数据库基础】SQLServer数据库的安装步骤详解
├─1:116-17.3【数据库基础】SQLServer数据库登录详解
├─1:117-17.4【数据库基础】SQLServer数据库远程登录
├─1:118-17.5【数据库基础】SQLServer登录4种错误解决
├─1:119-17.6【数据库基础】企业管理器基础和T-SQL创建数据库
├─1:12-01.4【环境熟悉】2混合语言开发过程和使用ildasm观察
├─1:120-17.7【数据库基础】使用T-SQL脚本创建数据库修改
├─1:121-18.1【数据进阶】1SQLServer数据类型必备
├─1:122-18.1【数据进阶】2数据约束的特点和重要意义
├─1:123-18.2【数据进阶】1使用T-SQL创建部门表和职位表
├─1:124-18.2【数据进阶】2使用T-SQL创建具各种约束的员工表
├─1:125-18.3【数据进阶】T-SQL添加测试数据并解决四种常见错误
├─1:126-18.4【数据进阶】1数据查询、修改和删除方法与外键删除技巧
├─1:127-18.4【数据进阶】2数据内连接查询和汇总查询函数及常见错误解决
├─1:128-18.5【数据进阶】数据库文件分离与附加的技巧及问题解决
├─1:129-19.1【ADO.NET基础】ADO.NET概述组件构成、2种连接字符串封装
├─1:13-01.4【环境熟悉】3托管和非托管及CLR、CTS和CLS
├─1:130-19.2【ADO.NET基础】命名空间和正确打开与关闭方法编写
├─1:131-19.3【ADO.NET基础】执行Insert语句的方法编写与实现
├─1:132-19.4【ADO.NET基础】执行update和delete语句方法步骤
├─1:133-19.5【ADO.NET基础】ExecuteScalar方法的特别查询应用
├─1:134-19.6【ADO.NET基础】ExecuteReader方法查询结果集的实现
├─1:135-19.7【ADO.NET基础】ExecuteReader返回多个结果集的查询
├─1:136-19.8【ADO.NET基础】1DataSet数据集一个表的查询实现
├─1:137-19.8【ADO.NET基础】2DataSet数据集多个表的查询实现
├─1:138-20.1【ADO.NET进阶】1程序异常的几种情况分析和解决
├─1:139-20.1【ADO.NET进阶】2异常处理框架的使用方法和注意问题
├─1:14-02.1【编程要素】总体了解项目软件的组成
├─1:140-20.1【ADO.NET进阶】3抛出异常和正确的异常处理框架
├─1:141-20.2【ADO.NET进阶】App配置文件和ExecuteNonQuery封装与调用
├─1:142-20.3【ADO.NET进阶】封装ExecuteScalar方法实现单一查询
├─1:143-20.4【ADO.NET进阶】封装ExecuteReader方法实现多行查询
├─1:144-20.5【ADO.NET进阶】封装DataSet数据集的查询方法
├─1:145-20.6【ADO.NET进阶】带参数的高级通用数据访问类的编写
├─1:146-21.1【项目分层】项目分层的原因和内容
├─1:147-21.2【项目分层】项目分层实践之框架的搭建
├─1:148-21.3【项目分层】1项目分三层代码拆分的实践
├─1:149-21.3【项目分层】2项目分三层基于实体类优化数据传递
├─1:15-02.2【编程要素】命名空间和类的解释及使用
├─1:150-21.4【项目分层】项目分层实践之实体类在查询数据中的使用
├─1:151-22.0.面向对象进阶与数据库进阶习题说明
├─1:152-23.01.项目软硬件介绍和效果展示
├─1:153-23.02.本项目专题学习的内容和收获介绍
├─1:154-23.03.RS-485串口硬件熟悉和通信格式回顾
├─1:155-23.04.Modbus协议基础和RTU消息帧报文结构
├─1:156-23.05.Modbus协议存储区分类地址和功能码
├─1:157-23.06.Modbus主从通信和03功能码两种报文分析
├─1:158-23.07.Modbus主从通信收发报文基础测试
├─1:159-23.08.温湿度设备通信文档解读和通信测试
├─1:16-02.3【编程要素】编程常见数据类型特点及选择
├─1:160-23.09.温湿度项目UI设计之用户控件开发-1
├─1:161-23.09.温湿度项目UI设计之用户控件开发-2
├─1:162-23.10.温湿度项目UI设计之用户控件开发-3
├─1:163-23.11.温湿度项目UI设计之整体界面完成
├─1:164-23.12.上位机程序实现请求报文的封装与发送
├─1:165-23.13.上位机程序接收应答报文并解析报文数据
├─1:166-23.14.ModbusRTU通信类之属性和打开与关闭串口
├─1:167-23.15.ModbusRTU通信类之03功能码发送和接收报文
├─1:168-23.16.ModbusRTU通信类之03功能码返回数据的解析
├─1:169-23.17.上位机调用通信类实现串口打开和关闭动态效果
├─1:17-02.4【编程要素】1程序中变量的概念、要素与使用方法
├─1:170-23.18.温湿度设备数据读取完成和程序调试排错技巧
├─1:171-结束语和后续技术学习方案_x264
├─1:18-02.4【编程要素】2变量命名规范和两种变量的作用域
├─1:19-02.5【编程要素】1如何正确的使用程序的注释
├─1:2-00.2【学习须知】上位机软件开发纵向和横向类型
├─1:20-02.5【编程要素】2帮助文档MSDN的使用和元数据的查看对比
├─1:21-02.6【编程要素】1初学编程需要注意的几个细节
├─1:22-02.6【编程要素】2代码折叠指令region的使用
├─1:23-02.6【编程要素】3与命名空间使用相关的4种错误解决
├─1:24-02.6【编程要素】4变量使用相关的3种错误解决方法
├─1:25-03.1【输入输出】1基本输出Write和WriteLine方法
├─1:26-03.1【输入输出】2基本输入ReadLine方法的使用
├─1:27-03.2【输入输出】字符格式化两种方法与控制台输出
├─1:28-03.3【输入输出】赋值和各种算数运算符实例分析
├─1:29-03.4【输入输出】两种比较运算符实例分析
├─1:3-00.3【学习须知】上位机智能采集与自控系统展示
├─1:30-04.1【类型转换】值类型之间的转换方法
├─1:31-04.2【类型转换】字符串和值类型的转换
├─1:32-04.3【类型转换】万能转换器实现各种转换
├─1:33-05.1【程序逻辑】if条件选择与逻辑运算符
├─1:34-05.2【程序逻辑】复杂if与运算符优先级策略
├─1:35-05.3【程序逻辑】if-else与三元运算符
├─1:36-05.4【程序逻辑】1多条件选择if-else-if
├─1:37-05.4【程序逻辑】2选择条件的嵌套
├─1:38-05.5【程序逻辑】1switch分支结构的应用
├─1:39-05.5【程序逻辑】2总结switch与多重if的异同
├─1:4-00.4【学习须知】解读工控行业危机与新人才机遇
├─1:40-06.1【循环结构】1for循环原理和实例编写与调试观察
├─1:41-06.1【循环结构】2for循环的嵌套案例分析与实现
├─1:42-06.2【循环结构】1while不固定循环次数的循环
├─1:43-06.2【循环结构】2while循环嵌套案例分析与实现
├─1:44-06.2【循环结构】3while循环中的break和continue对比
├─1:45-06.3【循环结构】do-while不固定循环次数的循环
├─1:46-07.1【字符串】1.string字符串IndexOf方法和Length属性
├─1:47-07.1【字符串】2.字符串截取Substring方法
├─1:48-07.1【字符串】3.字符串和值类型的比较必会的两种方法
├─1:49-07.1【字符串】4.字符串格式化方法扩展和小数位数保留
├─1:5-00.5【学习须知】上位机开发学习路线与内容规划
├─1:50-07.1【字符串】5.字符串《空值》和《空对象》的比较使用
├─1:51-07.1【字符串】6.字符串常用的其他方法
├─1:52-07.1【字符串】7StringBuilder类的重要应用
├─1:53-07.1【字符串】8程序中反斜杠转义字符的使用
├─1:54-08.1【数组使用】数组使用4个步骤和3种定义对比
├─1:55-08.2【数组使用】1.for循环实现数组的遍历
├─1:56-08.2【数组使用】2.foreach循环实现数组的遍历
├─1:57-08.3【数组使用】字符串分割、拼接和替换
├─1:58-08.4【数组使用】值类型和引用类型变量传递
├─1:59-08.5【数组使用】理解.NET底层类和CSharp关键字
├─1:6-01.1【环境熟悉】初学.NET创建第一个控制台程序步骤
├─1:60-09.1【常量枚举】常量的定义和使用
├─1:61-09.2【常量枚举】enum枚举的定义和使用
├─1:62-09.3【常量枚举】1程序调试的重要性
├─1:63-09.3【常量枚举】2程序调试步骤技巧和总结(非常重要)
├─1:64-10.0.【阶段习题】核心语法阶段习题说明
├─1:65-11.1【类与对象】1通过程序观察初步认识面向对象编程
├─1:66-11.1【类与对象】2类与对象的产生使用和组成规范
├─1:67-11.1【类与对象】3类与对象的编写创建和基础使用
├─1:68-11.2【类与对象】1使用ILDasm观察属性源码
├─1:69-11.2【类与对象】2断点观察属性读取过程并体会意义
├─1:7-01.2【环境熟悉】1什么是程序集信息
├─1:70-11.3【类与对象】对象属性的3种扩展使用
├─1:71-11.4【类与对象】为什么用属性而不用字段的原因
├─1:72-11.5【类与对象】1属性使用中的新特性扩展学习
├─1:73-11.5【类与对象】2对象类型的属性使用技巧
├─1:74-12.1【对象方法】构造方法基础和对象初始化顺序
├─1:75-12.2【对象方法】1构造方法重载和相互调用及注意问题
├─1:76-12.2【对象方法】2this关键字的使用和构造方法使用小结
├─1:77-12.3【对象方法】对象初始化器和构造方法对比
├─1:78-12.4【对象方法】1实例方法作用和规范
├─1:79-12.4【对象方法】2实例方法编写和调用详解
├─1:8-01.2【环境熟悉】2引用、配置文件和项目入口文件
├─1:80-12.5【对象方法】1正确的方法使用几点总结
├─1:81-12.5【对象方法】2内存垃圾回收机制GC的理解
├─1:82-12.6【对象方法】static静态方法的使用和特点
├─1:83-12.7【对象方法】可变参数params关键字使用方法
├─1:84-13.1【泛型集合】1泛型集合的重要特点和使用方法
├─1:85-13.1【泛型合集】2泛型集合基础添加和遍历元素
├─1:86-13.1【泛型集合】3泛型集合常用方法汇总和对象容器
├─1:87-13.2【泛型集合】泛型集合Dictionary特点及应用
├─1:88-14.0【阶段练习】核心面向对象阶段习题说明
├─1:89-15.1【窗体事件】1窗体创建与部分类partial讲解
├─1:9-01.3【环境熟悉】1解决方案的各种操作
├─1:90-15.1【窗体事件】2窗体类和控件对象的关系
├─1:91-15.1【窗体事件】3窗体相关的属性介绍
├─1:92-15.2【窗体事件】1事件机制的四个步骤
├─1:93-15.2【窗体事件】2事件机制的四个步骤(条件)
├─1:94-15.3【窗体事件】windows程序事件综合运用
├─1:95-15.4【窗体事件】Windows程序的事件机制优化
├─1:96-15.5【窗体事件】Windows程序的事件动态管理
├─1:97-15.6【窗体事件】窗体对象创建和显示的两种模式
├─1:98-16.1【控件综合】容器控件GroupBox和Panel的使用
├─1:99-16.2【控件综合】1SplitContainer容器控件的使用
├─2:1-1.1 Modbus协议发展历史
├─2:10-2.5 04H功能码读取输入寄存器
├─2:11-2.6 05H功能码预置单线圈
├─2:12-2.7 06H功能码预置单寄存器
├─2:13-2.8 0FH功能码预置多线圈
├─2:14-2.9 10H功能码预置多寄存器
├─2:15-3.1 串口连接与断开
├─2:16-3.2 读取输入输出线圈
├─2:17-3.3 读取输入输出寄存器
├─2:18-3.4 预置单线圈与寄存器
├─2:19-3.5 预置多线圈与寄存器
├─2:2-1.2 Modbus调试软件安装使用
├─2:20-3.6 测试平台UI界面设计
├─2:21-3.7 参数初始化及串口连接
├─2:22-3.8 输入输出线圈读取测试
├─2:23-3.9 输入输出寄存器读取测试
├─2:24-3.10 预置单线圈多线圈测试
├─2:25-3.11 预置单寄存器多寄存器测试
├─2:26-3.12 Modbus通信库加锁处理
├─2:27-4.1 温湿度硬件接线及设置
├─2:28-4.2 UI界面设计及搭建
├─2:29-4.3 实现单温湿度模块采集
├─2:3-1.3 Modbus协议存储区说明
├─2:30-4.4 实现多温湿度模块采集
├─2:31-4.5 使用自定义控件优化
├─2:32-4.6 基于OOP实现多路采集
├─2:33-5.1 ModbusTCP通信格式说明
├─2:34-5.2 读取输入输出线圈
├─2:35-5.3 读取输入输出寄存器
├─2:36-5.4 预置单线圈与寄存器
├─2:37-5.5 预置多线圈与寄存器
├─2:38-6.1 以太网连接与断开
├─2:39-6.2 ByteArray通用工具类
├─2:4-1.4 Modbus协议功能码说明
├─2:40-6.3 读取输入输出线圈
├─2:41-6.4 读取输入输出寄存器
├─2:42-6.5 预置单线圈与寄存器
├─2:43-6.6 预置多线圈与寄存器
├─2:44-6.7 测试平台UI界面及连接
├─2:45-6.8 线圈寄存器读取测试
├─2:46-6.9 预置线圈寄存器测试
├─2:47-7.1 西门子PLC仿真环境搭建
├─2:48-7.2 编写ModbusServer程序
├─2:49-7.3 西门子PLC通信界面设计
├─2:5-1.5 Modbus协议分类及测试
├─2:50-7.4 常用数据类型及解析思路
├─2:51-7.5 多线程实现PLC数据解析
├─2:52-7.6 多线程实现解析并更新
├─2:53-7.7 ModbusTCP变量写入
├─2:6-2.1 ModbusRTU通信格式说明
├─2:7-2.2 01H功能码读取输出线圈
├─2:8-2.3 02H功能码读取输入线圈
├─2:9-2.4 03H功能码读取输出寄存器
├─3:1-01.1.Generic泛型的引出和作用总体介绍
├─3:10-02.7.事件event和委托delegate对比和选择
├─3:11-03.1.委托与匿名方法、Lambda表达式应用
├─3:12-03.2.自定义泛型委托与匿名方法Lambda结合
├─3:13-03.3.系统泛型委托Action和Func的重要应用
请先
!