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

相关推荐
ctrl_v助手1 分钟前
Halcon学习笔记2
人工智能·笔记·学习
YUS云生1 小时前
Python学习笔记·第31天:FastAPI入门——路由、路径参数、查询参数与请求体
笔记·python·学习
玖玥拾1 小时前
C# 语言进阶(十五)C# 游戏服务端 MySQL 数据库
服务器·开发语言·网络·数据库·mysql·c#
铅笔侠_小龙虾1 小时前
Rust 学习目录
开发语言·学习·rust
云泽8082 小时前
从零吃透 C++ 异常:抛出捕获、栈展开、异常重抛与编码规范详解
开发语言·c++·代码规范
灯澜忆梦2 小时前
GO---可见性规则
开发语言·golang
逝水无殇2 小时前
C# 文件的输入与输出详解
开发语言·数据库·后端·c#
一个有温度的技术博主3 小时前
【VulnHub 实战】DC-1 靶机渗透测试笔记(一):信息收集与主机发现
服务器·网络·笔记
love530love3 小时前
将 ChatCut MCP 插件从 Codex 桌面应用移植到 WorkBuddy —— 完整适配实录
ide·人工智能·windows·视频剪辑·ai agent
这是个栗子3 小时前
前端开发中的常用工具函数(八)
开发语言·前端·javascript