初识Visual Studio中的 WinForm

目录

一、基本内容

1.窗体(Form)

2.控件(Controls)

3.事件驱动机制

二、常用开发工具(控件)

三、控件属性

高频使用的通用属性:

高频使用的核心属性:

[1. 窗体(Form)专属属性](#1. 窗体(Form)专属属性)

[2. 控件通用属性](#2. 控件通用属性)

四、开发流程示例

1.创建项目

2.设计界面

3.编写逻辑

4.调试运行

[五、WinForm 与 WPF 的对比](#五、WinForm 与 WPF 的对比)


一、基本内容

WinForm应用的核心构成包括以下三部分:

1.窗体(Form)

应用的顶层容器,每个WinForm程序至少包含一个主窗体。

负责承载所有UI控件(如按钮、文本框等),并处理窗口级事件(如加载、关闭等)。

2.控件(Controls)

界面交互的基本单元,认为分为标准控件(如Button、TextBox等)、容器控件(如Panel、GroupBox等)和数据控件(如DrawGridView等)。

所有控件均继承自Control基类,具备统一的属性(如Text、Size等)和事件(如Click、Load等)。

3.事件驱动机制

程序逻辑通过 事件 -- 委托 -- 处理方法 触发:

用户操作(如点击操作)触发控件事件(Button.Click)。

事件绑定到预先定义的处理方法(如button1_Click),执行相应的逻辑。

二、常用开发工具(控件)

在 Visual Studio 的 工具箱(Toolbox) 中,以下控件最常用:

|------------|--------------------------|--------------------|
| 控件类型 | 常用控件 | 核心用途 |
| 基础交互 | Button、TextBox、Label | 触发操作、输入文本、显示信息 |
| 选择控件 | CheckBox、RadioButton | 多选 / 单选选项 |
| 列表与表格 | ListBox、DataGridView | 展示列表数据、表格数据 |
| 容器控件 | Panel、TabControl | 分组管理控件、实现多标签页 |
| 菜单与工具栏 | MenuStrip、ToolStrip | 应用导航、快捷操作 |

三、控件属性

所有控件共享部分核心属性

高频使用的通用属性:

|------|--------------------------------|----------------|
| 属性分类 | 关键属性 | 作用说明 |
| 外观属性 | TextFontForeColor | 控件文本、字体、文字颜色 |
| 布局属性 | SizeLocationDock | 控件大小、位置、停靠方式 |
| 行为属性 | EnabledVisibleReadOnly | 是否启用、可见、只读 |
| 数据绑定 | DataSourceDataMember | 绑定数据(如数据库、集合等) |

属性是控制界面外观和行为的关键

高频使用的核心属性:

1. 窗体(Form)专属属性

Text:设置窗口标题栏文字(如"用户登录系统")。

WindowState:控制窗口初始状态(Normal正常、Maximized最大化、Minimized最小化)。

StartPosition:设置窗口启动位置(如CenterScreen居中显示)。

AcceptButton:绑定"确认"按钮,按Enter键自动触发该按钮的Click事件。

ControlBox:是否显示标题栏的最小化/最大化/关闭按钮(true显示,false隐藏)。

2. 控件通用属性

Text:控件显示的文字(如按钮上的"提交"、标签的"用户名:")。

SizeLocation :控件的尺寸(宽×高)。

Location:位置(左上角坐标)。

Enabled:是否启用控件(false时控件变灰,无法交互)。

Visible:是否显示控件(false时控件隐藏)。

Anchor/Dock:布局自适应属性(Anchor固定控件边缘,Dock让控件填充父容器的指定方向,如顶部导航栏Dock=Top)。

ForeColor/BackColor:文字颜色和背景颜色(如ForeColor=Red设置红色文字)。

四、开发流程示例

1.创建项目

在Visual Studio中选择Windows Forms App (.NET Framework)」模板。

2.设计界面

从工具箱中拖拽空间到窗体,调整布局和属性(如 Button.Text = "点击提交")。

3.编写逻辑

双击控件生成事件处理方法(如 button1_Click),实现业务逻辑(如数据验证、界面跳转)。

4.调试运行

直接按下F5键启动程序,测试功能是否符合预期。

五、WinForm 与 WPF 的对比

|------|----------------|---------------------|
| 对比维度 | WinForm | WPF |
| 技术定位 | 传统桌面开发,简单高效 | 现代UI框架,支持MVVM和自定义控件 |
| 渲染方式 | GID + 绘制,性能一般 | DirectX渲染,支持硬件加速 |
| 适用场景 | 中小型工具软件、内部管理系统 | 复杂交互界面(如多媒体、3D可视化) |

相关推荐
笨鸟先飞的橘猫4 小时前
c++面向对象编程
开发语言·c++
小玮看世界4 小时前
[Python]自动驾驶感知与决策练习题 (1-10)
开发语言·python·自动驾驶
满栀5854 小时前
原生JS + ECharts 多图表可视化实战:从业务实现到工程化优化
开发语言·javascript·echarts
摇滚侠4 小时前
《SpringBoot 3:入门与应用实战》第 15 章 生产级特性 监控指标 Metrics 阅读笔记
java·spring boot·笔记
骇客野人4 小时前
VSCode 安装 Trae(Trae AI: Coding Assistant)完整教程
ide·vscode·编辑器
熬夜苦读学习5 小时前
Qt-- 系统相关
开发语言·qt
弹简特5 小时前
【Java项目-企悦抽】11-用户与认证模块-实现用户登录03(结束登录功能)-完成测试+对接前端+登录拦截器
java·开发语言
haolin123.5 小时前
类和对象(下)
c语言·开发语言·c++
噜~噜~噜~5 小时前
操作系统笔记-1.1.3 操作系统的特征
笔记·操作系统
2501_915921435 小时前
SwiftUI开发框架入门指南:从基础到实战
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程