初识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可视化) |

相关推荐
superman超哥2 小时前
Rust Cargo Build 编译流程:从源码到二进制的完整旅程
开发语言·后端·rust·编译流程·cargo build·从源码到二进制
张紫娃2 小时前
日语中的音调
笔记
永远前进不waiting2 小时前
C语言复习——2
c语言·开发语言
枫叶丹42 小时前
ModelEngine应用编排创新实践:通过可视化编排构建大模型应用工作流
开发语言·前端·人工智能·modelengine
SatoshiGogo2 小时前
强化学习笔记
笔记
AscendKing2 小时前
java poi word首行插入文字
java·c#·word
net3m332 小时前
websocket下发mp3帧数据时一个包被分包为几个子包而导致mp3解码失败而播放卡顿有杂音或断播的解决方法
开发语言·数据库·python
bugcome_com2 小时前
深入解析 C# 中 abstract class 与 interface 的核心差异
c#
Qhumaing2 小时前
解决因为jupyter notebook修改路径下没有c.NotebookApp.notebook_dir而无法修改目录问题
ide·python·jupyter