初识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 小时前
精选 5 款基于 .NET 开源的 Visual Studio 实用插件
visual studio
Scout-leaf1 天前
WPF新手村教程(三)—— 路由事件
c#·wpf
用户298698530141 天前
程序员效率工具:Spire.Doc如何助你一键搞定Word表格排版
后端·c#·.net
mudtools3 天前
搭建一套.net下能落地的飞书考勤系统
后端·c#·.net
玩泥巴的3 天前
搭建一套.net下能落地的飞书考勤系统
c#·.net·二次开发·飞书
唐宋元明清21883 天前
.NET 本地Db数据库-技术方案选型
windows·c#
郑州光合科技余经理3 天前
代码展示:PHP搭建海外版外卖系统源码解析
java·开发语言·前端·后端·系统架构·uni-app·php
lindexi3 天前
dotnet DirectX 通过可等待交换链降低输入渲染延迟
c#·directx·d2d·direct2d·vortice
feifeigo1233 天前
matlab画图工具
开发语言·matlab
西岸行者3 天前
学习笔记:SKILLS 能帮助更好的vibe coding
笔记·学习