获取用户选项:使用复选框和单选按钮
更新:2007 年 11 月
在本课中,您将学习如何使用复选框和单选按钮来提供和检索用户选择。
当为应用程序创建用户界面时,经常需要一种方法来提供选择。例如,假设您为一家比萨饼店编写处理订单的应用程序。您可能想要允许用户从各种各样的食物浇头中选择任意浇头。CheckBox 控件提供了一种可视的表示形式,使您可以轻松创建这种选项。
CheckBox 控件由一个文本标签和一个用户可以选择的框组成。用户单击该框时,一个选中标记会出现在框中。如果再次单击该框,选中标记便会被移除。使用 CheckBox.Checked 属性可检索复选框的状态。如果框中显示有选中标记,则该属性返回 True。如果没有显示选中标记,该属性返回 False。
试一试!
使用复选框
在“文件”菜单上单击“新建项目”。
在“新建项目”对话框的“模板”窗格中,单击“Windows 应用程序”。
在“名称”框中键入 UserChoices,然后单击“确定”。
一个新的 Windows 窗体项目随即打开。
在“属性”窗口中,分别将“CheckBox1”、“CheckBox2”和“CheckBox3”的 Text 属性更改为 Cheese、Peppers 和 Mushrooms。
在“属性”窗口中,将 Button1 的 Text 属性更改为 Order Pizza。
在窗体中双击该按钮,在代码编辑器中打开 Button1_Click 事件处理程序。
将下面的代码添加到 Button1_Click 事件处理程序中:
Dim toppings As String = "" If CheckBox1.Checked = True Then toppings &= "Cheese " End If If CheckBox2.Checked = True Then toppings &= "Peppers " End If If CheckBox3.Checked = True Then toppings &= "Mushrooms" End If If toppings <> "" Then MsgBox("Your pizza has the following toppings: " & toppings) End If
按 F5 运行程序。当窗体出现时,选择一些浇头并单击按钮。将显示一个消息框指示您对比萨饼浇头的选择。
使用单选按钮进行互斥选择
您刚才学习了如何使用户能够从若干个选项中选择任意选项。但如果您想要用户从若干个选项中只选择一个,您该怎么办? 在这种情况下,您可以使用 RadioButton 控件。
与复选框不同,单选按钮(也称作“选项按钮”)始终作为一个组的一部分工作。选中一个单选按钮会立即清空该组中所有其他单选按钮。定义单选按钮组将告诉用户:“这是一组选项,您可以从中选择一个而且只能选择一个。”
您可以使用成组的 RadioButton 控件以使用户能在互斥的选项之间进行选择。例如,您可能允许用户选择在比萨饼上是放常规沙司还是辣味沙司,但不能两者都选。与 CheckBox控件一样,您可以从 RadioButton.Checked 属性获取 RadioButton 控件的状态信息。
使用单选按钮
将两个 RadioButton 控件从“工具箱”中拖动到窗体上。
在“属性”窗口中,将 RadioButton1 的 Text 属性设置为 RegularSauce。
将 RadioButton1 的 Checked 属性设置为 True。
提示: 当定义一组选择时,始终应当将某个选择设置为默认。
在“属性”窗口中,将“RadioButton2”的 Text 属性设置为 Spicy Sauce。
在窗体中双击该按钮,在代码编辑器中打开 Button1_Click 事件处理程序。
在 Button1_Click 事件处理程序中,添加下面的代码:
If RadioButton1.Checked = True Then MsgBox("You chose regular sauce") Else MsgBox("You chose spicy sauce") End If
按 F5 运行程序。选择某一单选按钮,然后单击“定购比萨”按钮。此时将显示一个消息框指明您的选择。
尝试同时选择两个单选按钮。请注意,单选按钮是相互排斥的。当您单击一个单选按钮之后,另一个会自动清除。
后续步骤
在本课中,您学习了如何使用 CheckBox 和 RadioButton 控件在用户界面上给用户提供选择。现在,您可以进入下一课显示图像:使用 PictureBox 控件,或者学习详细了解:使用多组单选按钮以了解如何创建多组单选按钮。如果您选择了后者,则应当保存您的 UserChoices 项目以便在下一课中使用。