VB Visual Basic 2026 中文教程
第 3 课 · 界面设计基础

窗体、控件与属性

Windows Forms 应用的界面由“窗体”和“控件”组成。本课将带你认识常用控件,并学会通过 Properties 属性窗口调整名称、文字、大小、位置、字体、颜色和布局行为。

适合:完成第 2 课的初学者建议时间:35–50 分钟实作:学生资料卡界面

本课学习目标

  • 理解 Form(窗体)和 Control(控件)的关系。
  • 认识 Windows Forms 中最常用的界面控件。
  • 学会从 Toolbox 把控件加入窗体。
  • 理解 NameText 属性的区别。
  • 掌握 Size、Location、Font、ForeColor、BackColor、Enabled、Visible 等常用属性。
  • 初步认识 TabIndex、Anchor 与 Dock 的布局作用。
  • 完成一个“学生资料卡”界面设计练习。

3.1 什么是窗体和控件?

Windows Forms 应用可以把 Form 看成应用程序的“窗口”,把放在窗口中的 Button、Label、TextBox 等看成“控件”。

Form

窗体

应用程序的主要窗口。窗体本身也有 Text、Size、BackColor 等属性,还可以包含其他控件。

Control

控件

放在窗体上的界面元素,用来显示信息、接受输入或让用户执行操作。

例如,在第 2 课的问候程序中,Form1 是窗体;lblPrompttxtNamebtnGreetlblResult 都是控件。

先记住一个简单关系 Form 是容器;控件被放在 Form 上。用户看到的桌面应用界面,通常就是“窗体 + 多个控件”的组合。

3.2 使用 Toolbox 加入控件

在 Windows Forms Designer 中,Toolbox(工具箱) 提供可放到窗体上的控件。若看不到 Toolbox,可选择 View → Toolbox

打开 Form Designer

在 Solution Explorer 中双击 Form1.vb,确保显示的是设计画面。

打开 Toolbox

选择 View → Toolbox。当 Windows Forms Designer 处于活动状态时,会显示适用的控件。

加入控件

可以把控件从 Toolbox 拖到窗体上,也可以双击控件,让 Visual Studio 以默认大小加入窗体。

选择控件

在设计器中单击某个控件,Properties 窗口就会显示该控件可修改的属性。

3.3 常用 Windows Forms 控件

初学阶段最常使用的控件如下。你不需要一次记住全部,只要先理解每一种控件的用途。

Label

显示说明、标题或结果文字。例如“请输入姓名:”。

TextBox

让用户输入文字,例如姓名、地址或搜索关键字。

Button

让用户执行操作,例如保存、计算、搜索或退出。

CheckBox

表示可以独立选择的选项,例如“订阅电子邮件”。

RadioButton

让用户从一组选项中选择一个,例如“男 / 女 / 其他”。

ComboBox

以下拉列表提供选择,也可视设置允许用户输入。

ListBox

显示一个项目列表,让用户选择其中一个或多个项目。

PictureBox

显示图片,例如产品图片、头像或应用图标。

DataGridView

以表格方式显示资料。数据库课程会大量使用。

不要为了“看起来丰富”而放太多控件 好的界面设计强调清楚、易读和容易操作。只加入真正需要的控件,并保持一致的排列和间距。

3.4 Properties 属性窗口

每个窗体和控件都有一组属性。属性决定对象的外观、大小、位置、名称和部分行为。Visual Studio 的 Properties Window(属性窗口) 是初学者最常使用的设计工具之一。

对象
例如 Form、Button、TextBox、Label。
属性
对象所拥有的设定,例如 Text、Name、Size、Font。
属性值
属性目前的内容,例如 Text = “保存”、Enabled = True。

如果 Properties Window 没有显示,可以选择 View → Properties Window。选中不同控件时,属性窗口会自动切换到该控件。

3.5 Name 与 Text:初学者最容易混淆的两个属性

NameText 的用途完全不同。

属性主要用途示例
Name代码中识别这个控件的名称。btnSave
Text通常是用户在界面上看到的文字。保存

例如,一个按钮可以这样设置:

Name = btnSave
Text = 保存

以后写代码时,我们通常写:

btnSave.Enabled = False

这里使用的是 btnSave,也就是控件的 Name,不是按钮表面显示的“保存”。

不要把所有控件都保留为 Button1、TextBox1、Label1 小程序可能还能看懂,但项目变大后会非常混乱。建议从一开始就养成清楚命名的习惯。

3.6 控件命名建议

本教程采用简单、容易阅读的前缀命名方式:

控件常用前缀示例
LabellbllblStudentName
TextBoxtxttxtStudentName
ButtonbtnbtnSave
CheckBoxchkchkNewsletter
RadioButtonrdordoFullTime
ComboBoxcmbcmbCourse
ListBoxlstlstModules
PictureBoxpicpicPhoto
命名不是 VB.NET 的语法要求 btnSave 这种写法是为了提高可读性。团队也可能采用其他命名规范,只要保持一致并表达清楚即可。

3.7 十个最常用的属性

不同控件拥有的属性并不完全相同,但下面这些属性非常常见。

属性作用示例
Name代码使用的控件名称。txtName
Text显示在窗体或控件上的文字。学生姓名
Size设置宽度和高度。300, 40
Location设置控件在父容器中的位置。20, 60
Font设置字体、大小与字型样式。Segoe UI, 11pt
ForeColor设置前景颜色,通常是文字颜色。DarkBlue
BackColor设置背景颜色。WhiteSmoke
Enabled决定用户是否可以操作控件。True / False
Visible决定控件运行时是否显示。True / False
TabIndex决定用户按 Tab 键时的焦点顺序。0, 1, 2, 3...

Enabled 与 Visible 有什么不同?

Enabled = False

控件仍然显示,但用户不能正常操作它。适合暂时禁用按钮或输入框。

Visible = False

控件不会显示给用户。适合暂时隐藏某些界面元素。

3.8 Anchor 与 Dock:让界面更适应窗体大小

如果用户把窗体放大,控件是否跟着移动或伸展?这就是 AnchorDock 常见的用途。

Anchor

保持与指定边缘的距离

例如把 TextBox 锚定到 Left 和 Right,窗体变宽时,TextBox 可以跟着变宽。

Dock

停靠在父容器边缘或填满空间

例如让 Panel 停靠在 Top,或让某个控件使用 Fill 填满剩余区域。

初学阶段先会用,再深入原理 你现在只需要知道:Anchor 更像“固定与边缘的关系”,Dock 更像“把控件贴到某个边缘或填满区域”。以后制作较复杂界面时会再次使用。

3.9 实作:设计“学生资料卡”

继续使用 Visual Studio 2026,新建一个 Windows Forms 项目,项目名称可设为 StudentProfile2026。本练习暂时不写按钮事件,重点是熟悉窗体、控件和属性。

Windows Forms Designer · StudentProfile2026
学生资料卡
学生姓名:
王小明
课程:
Visual Basic 2026 ▾
学习模式:
全日制 ▾
电子邮件:
☑ 接收课程通知
保存资料清除

在 Form1 上加入下面的控件,并设置建议属性:

控件NameText / 说明
FormForm1Text = 学生资料卡
LabellblTitleText = 学生资料卡
LabellblNameText = 学生姓名:
TextBoxtxtName输入学生姓名
LabellblCourseText = 课程:
ComboBoxcmbCourse稍后可加入课程项目
LabellblEmailText = 电子邮件:
TextBoxtxtEmail输入电子邮件
CheckBoxchkNotifyText = 接收课程通知
ButtonbtnSaveText = 保存资料
ButtonbtnClearText = 清除

建议进一步调整

  • 把窗体的 Text 改为“学生资料卡”。
  • 将标题 Label 的 Font 调大并设为粗体。
  • 让 TextBox 和 ComboBox 宽度保持一致。
  • 让两个按钮的 Size 保持一致。
  • 检查 TabIndex,使按 Tab 键时从姓名 → 课程 → 电子邮件 → 通知 → 保存 → 清除。
  • 适当调整 Anchor,使输入控件在窗体变宽时仍能保持合理布局。

3.10 属性也可以在代码中修改

Properties Window 不是唯一的方法。大多数常用属性也可以通过 VB.NET 代码读取或改变。下面只是让你先看懂写法,本课不要求全部输入。

Me.Text = "学生资料卡"

lblTitle.Text = "学生资料卡"
txtName.Text = ""
btnSave.Enabled = True
btnClear.Visible = True

左边是“对象名称”,点号后面是“属性名称”,等号右边是要赋给属性的值。

btnSave对象名称
.
Enabled属性
= True属性值

第 4 课会正式学习:当用户点击按钮、改变选择或操作键盘时,程序如何通过事件执行代码。

3.11 初学者常见问题

问题 1

改了 Name,但按钮文字没变

Name 是代码名称。要改变用户看到的按钮文字,应修改 Text 属性。

问题 2

改了 Text,却找不到原来的代码名称

Text 不会自动改变 Name。代码仍然使用 Name 属性指定的名称。

问题 3

控件排列不整齐

使用 Designer 的对齐辅助线,并让相关控件保持一致的间距与 Size。

问题 4

窗体放大后布局很难看

检查 Anchor 和 Dock。固定坐标只能解决初始布局,不一定适合窗体大小变化。

3.12 小练习:改善学生资料卡

在完成基本界面后,再做以下改进:

  1. 增加一个 PictureBox,作为学生照片位置。
  2. 增加两个 RadioButton,例如“全日制”和“兼读制”。
  3. 把“保存资料”按钮的 Name 设置为 btnSave
  4. 把“清除”按钮的 Name 设置为 btnClear
  5. 调整所有控件的位置与大小,使整个界面看起来整齐一致。

本课复习

  1. Form 在 Windows Forms 应用中扮演什么角色?
  2. Label、TextBox 和 Button 分别适合做什么?
  3. Name 与 Text 有什么不同?
  4. Enabled = False 与 Visible = False 有什么不同?
  5. TabIndex 的作用是什么?
  6. Anchor 与 Dock 主要用来解决什么问题?
  7. 为什么控件名称最好不要长期保留为 Button1、TextBox1?