C#系列教程
C#系列课程
一 C#语言
01 Vs2022安装和语法基础
- Visual Studio 2022安装
- C#之创建一个winform桌面应用程序
- C#之语法变量与弹窗显示、注释
- C#之方函数方法
- C#之参数变量的作用域
- C#之if、switch、for、while逻辑
02 数组与list
- C#之数组
- C#之list
03 类
- C#之什么是类
- C#之类的构造器
- C#之类的属性
- C#之部分类
- C#之静态类
- C#之静态方法
- C#之类的继承
- C#之命名空间
04 泛型
- C#之泛型
05 委托
- C#之委托
06事件
- C#之事件
07linq语句
- C#之linq语句
08 反射
- C#之反射
09 特性
一般需要配合反射共同使用
- C#之特性
10 多线程
- C#之多线程
11 文件IO
- C#之文件IO
12 库的使用
- C#之dll库的创建和调用
二 Winform
一、基础入门篇
1.1 环境搭建与项目创建
- Visual Studio 安装与配置
- 创建第一个WinForms项目(C#)
- 解决方案结构解析(.csproj、Program.cs、Form1.cs)
- 调试模式与运行机制(Main方法、启动窗体)
1.2 窗体设计基础
- 窗体属性详解(Name/Text/Size/StartPosition等)
- 控件拖拽式布局(工具箱使用技巧)
- 常用容器控件(Panel/GroupBox/TabControl)
- 窗体事件(Load/Closing/Resize等)
1.3 控件核心功能
- 输入类控件:TextBox/MaskedTextBox/NumericUpDown
- 显示类控件:Label/PictureBox/DataGridView
- 交互类控件:Button/CheckBox/RadioButton/ComboBox
- 布局类控件:FlowLayoutPanel/TableLayoutPanel
二、核心开发技能
2.1 事件驱动编程
- 事件处理模型(订阅/触发/响应)
- 跨控件事件传递(委托与Lambda表达式)
- 自定义控件事件(继承Control类)
- 事件冒泡与取消(e.Handled/e.Cancel)
2.2 数据绑定技术
- 简单数据绑定(控件属性绑定)
- 复杂数据绑定(BindingSource组件)
- 数据验证机制(ErrorProvider控件)
- 数据库绑定(DataSet/Entity Framework)
2.3 窗体交互设计
- 窗体间通信(构造函数传参/静态变量/单例模式)
- 模态与非模态窗体(ShowDialog() vs Show())
- 动态创建窗体(运行时实例化)
- MDI多文档界面实现
2.4 资源与本地化
- 资源文件管理(.resx文件)
- 图片/字符串/音频资源嵌入
- 多语言支持(区域性设置与资源切换)
- 动态加载资源(ResourceManager类)
三、高级功能实现
3.1 自定义控件开发
- 用户控件(UserControl)复用
- 继承控件扩展(重写OnPaint方法)
- 控件属性设计器(Category/Description特性)
- 第三方控件集成(DevExpress/Telerik示例)
3.2 图形与多媒体
- GDI+绘图基础(Pen/Brush/Graphics对象)
- 自定义图表绘制(折线图/柱状图)
- 多媒体播放(MediaPlayer控件/NAudio库)
- 动画效果实现(Timer组件+双缓冲)
3.3 文件与系统交互
- OpenFileDialog/SaveFileDialog使用
- 注册表操作(Registry类)
- 进程管理(Process类启动外部程序)
- 系统托盘图标(NotifyIcon组件)
3.4 网络与通信
- HTTP请求(HttpClient类)
- Socket编程基础(TCP/UDP通信)
- 串口通信(SerialPort类)
- WebBrowser控件嵌入网页
四、性能优化与部署
4.1 性能调优技巧
- 双缓冲技术(避免界面闪烁)
- 异步编程(async/await处理耗时操作)
- 内存管理(Dispose模式与GC优化)
- 大数据量渲染优化(虚拟模式)
4.2 错误处理与日志
- Try-Catch最佳实践
- 全局异常处理(Application.ThreadException)
- 日志系统集成(NLog/log4net)
- 用户友好的错误提示
4.3 程序部署与发布
- 发布配置(Debug/Release模式)
- ClickOnce部署(自动更新)
- 安装包制作(Inno Setup示例)
- 代码混淆与保护(ConfuserEx)
五、实战项目案例
5.1 基础项目
- 简易计算器(表达式解析)
- 文本编辑器(文件操作+语法高亮)
- 图片浏览器(缩略图+幻灯片)
5.2 中级项目
- 简易数据库管理系统(SQLite+DataGridView)
- 网络聊天工具(Socket+多线程)
- 天气查询应用(API调用+JSON解析)
5.3 进阶项目
- 仿Windows资源管理器(树形控件+右键菜单)
- 绘图板(矢量图形+撤销重做)
- 局域网文件共享系统(TCP文件传输)
六、扩展学习方向
- WPF迁移指南:WinForms与WPF架构对比
- 跨平台方案:通过MAUI/Avalonia实现多端适配
- 现代UI框架:MaterialSkin/Bunifu UI库应用
- 性能监控工具:ANTS Performance Profiler使用
学习建议
- 循序渐进:从控件基础→事件处理→数据绑定→自定义控件→项目实战
- 代码规范:遵循.NET命名约定,合理使用Region/注释
- 调试技巧:熟练使用断点/即时窗口/输出调试信息
- 社区资源:Stack Overflow/GitHub示例项目/微软官方文档
通过该目录系统学习,可快速掌握WinForms开发全流程,为后续学习WPF或跨平台技术打下坚实基础。
三 工业机器视觉软件设计(Winfrom版)
四 WPF
以下是一份系统化的WPF教程目录,涵盖从基础到进阶的核心知识点,结合实际开发场景与性能优化技巧,适合不同阶段的学习者:
一、基础入门篇
1.1 环境搭建与核心概念
- 开发环境配置:Visual Studio安装与WPF项目模板选择(.NET 6+)
- WPF架构解析:XAML与代码分离设计模式、依赖属性系统、路由事件机制
- 核心组件:Application类、Dispatcher线程模型、资源字典(ResourceDictionary)
1.2 布局系统
- 基础面板:
- Grid(行列定义、合并单元格、动态调整)
- StackPanel(Orientation属性与嵌套技巧)
- DockPanel(停靠逻辑与优先级控制)
- 高级面板:
- WrapPanel(自动换行策略)
- UniformGrid(均分网格布局)
- Canvas(绝对定位与动态绘图)
- 性能优化:避免布局传递(Layout Rounding)、减少嵌套层级
二、核心控件与数据绑定
2.1 常用控件
- 输入控件:TextBox(密码模式、水印效果)、ComboBox(数据绑定与模板化)、DatePicker(国际化支持)
- 容器控件:TabControl(动态选项卡)、Expander(折叠面板)、GroupBox(分组标题)
- 多媒体控件:MediaElement(视频播放)、ImageBrush(图片填充)
2.2 数据绑定进阶
- 绑定模式:OneWay/TwoWay/OneTime、绑定延迟(Delay)
- 集合绑定:ObservableCollection、CollectionViewSource(分组与筛选)
- 转换器:IValueConverter实现(如布尔值转可见性)
- 命令系统:ICommand接口与RelayCommand实现(MVVM模式)
三、样式与模板
3.1 样式系统
- 基础样式:Style的TargetType与Setter定义
- 样式继承:BasedOn属性与多级样式
- 触发器:Trigger、MultiTrigger(条件组合)
- 事件触发器:EventTrigger与动画联动
3.2 模板化开发
- ControlTemplate:自定义按钮(带图片、边框切换)
- DataTemplate:ListView/DataGrid项模板(复杂数据展示)
- VisualStateManager:状态切换(Normal/MouseOver/Pressed)
四、MVVM模式与架构设计
4.1 MVVM核心实现
- ViewModel:INotifyPropertyChanged接口(属性变更通知)
- 命令绑定:ICommand与CanExecute逻辑(按钮禁用状态)
- 依赖注入:Prism/DryIoc框架集成(模块化开发)
4.2 高级架构
- 区域导航:Prism的RegionManager(模块化界面)
- 事件聚合器:EventAggregator(跨模块通信)
- 行为(Behavior):Interaction.Triggers与调用方法命令
五、图形与动画
5.1 2D图形
- Shape类:Rectangle、Ellipse、Path(微语言路径)
- 画刷:LinearGradientBrush(渐变填充)、VisualBrush(控件截图)
- 变换:RotateTransform、ScaleTransform(组合变换)
5.2 动画系统
- Storyboard:DoubleAnimation(透明度动画)、ColorAnimation(颜色过渡)
- 关键帧动画:ObjectAnimationUsingKeyFrames(离散状态切换)
- 3D效果:Viewport3D与ModelVisual3D(基础3D渲染)
六、性能优化与调试
6.1 渲染优化
- 虚拟化:VirtualizingStackPanel(大数据列表)
- 冻结对象:Freezable.Freeze()(静态资源优化)
- 硬件加速:UseLayoutRounding与RenderOptions(抗锯齿)
6.2 调试工具
- WPF性能套件:Visual Studio的WPF Visualizer
- 内存分析:DotMemory检测泄漏(事件订阅未移除)
- 日志系统:NLog集成(ViewModel层日志)
七、实战项目案例
7.1 企业级应用
- 数据看板:自定义雷达图(Canvas绘图)、分页控件(MVVM命令绑定)
- 设备监控:LED状态灯(依赖属性绑定)、动态数字卡片(ValueConverter)
- 日志系统:RichTextBox日志展示(滚动与过滤)
7.2 特效控件
- 3D粒子效果:波浪动画(CompositionTarget.Rendering)
- 自定义控件库:水波纹按钮(模板化与触发器)
- 主题切换:动态资源(Dark/Light主题切换)
八、扩展与部署
8.1 跨平台方案
- Avalonia UI:WPF代码迁移(XAML兼容性)
- MAUI集成:WPF与移动端共享代码(.NET多目标)
8.2 部署策略
- ClickOnce:自动更新配置(证书签名)
- 安装包制作:WiX Toolset生成MSI(依赖项处理)
- 代码混淆:ConfuserEx防反编译(资源加密)
学习建议:
- 实践驱动:从简单控件(如按钮样式)开始,逐步实现复杂布局(如仪表盘)
- 调试优先:使用Snoop工具(WPF调试神器)检查运行时属性
- 社区资源:关注GitHub的WPF开源项目(如MaterialDesignInXAML)
- 性能监控:通过Visual Studio的“性能探查器”定位渲染瓶颈
通过该目录系统学习,可快速掌握WPF开发核心技能,为构建现代化桌面应用奠定基础。
五 IOC框架