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

相关推荐
2的n次方_8 分钟前
CANN Ascend C 编程语言深度解析:异构并行架构、显式存储层级与指令级精细化控制机制
c语言·开发语言·架构
觉醒大王12 分钟前
哪些文章会被我拒稿?
论文阅读·笔记·深度学习·考研·自然语言处理·html·学习方法
方安乐29 分钟前
科普:股票 vs 债券的区别
笔记
java干货40 分钟前
为什么 “File 10“ 排在 “File 2“ 前面?解决文件名排序的终极算法:自然排序
开发语言·python·算法
_F_y40 分钟前
C语言重点知识总结(含KMP详细讲解)
c语言·开发语言
毕设源码-郭学长42 分钟前
【开题答辩全过程】以 基于python的二手房数据分析与可视化为例,包含答辩的问题和答案
开发语言·python·数据分析
无小道1 小时前
Qt——常用控件
开发语言·qt
大空大地20261 小时前
流程控制语句--switch多分支语句使用、while循环语句的使用、do...while语句、for循环
c#
aini_lovee1 小时前
MATLAB基于小波技术的图像融合实现
开发语言·人工智能·matlab
R1nG8632 小时前
多线程安全设计 CANN Runtime关键数据结构的锁优化
开发语言·cann