Visual Basic.NET+SQL Server全程指南
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

实例2-13 If…Then语句的使用

该实例实现步骤如下。

1 创建窗体

在本章的项目chapter2中,右键单击解决方案资源管理器中项目名称下面对应节的文件夹“控制流程”,在弹出菜单中选择“添加”→“Windows窗体”菜单命令,在弹出的对话框中输入窗体名IfFrm,单击“添加”按钮完成窗体的创建。

2 添加控件

在窗体上添加三个TextBox文本框,用来用户输入信息和结果显示。

添加4个Label控件用于相关信息说明。

3 添加代码

在相应的事件代码中添加代码2-17,以实现相应的功能。

代码2-17 IfFrm.vb

        01  Public Class IfFrm
        02      Dim a As Double
        03      Dim sum As Double
        04      Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal
    e As System.EventArgs) Handles TextBox2.TextChanged
        05          sum = Me.TextBox1.Text
        06          If Me.TextBox2.Text <> "" Then
        07              a = Me.TextBox2.Text
        08              If a > 0 And a <= 10 Then
        09                  sum = sum * (1-0.1)
        10              ElseIf a > 10 And a <= 20 Then
        11                  sum = sum * (1-0.2)
        12              ElseIf a > 20 And a <= 30 Then
        13                  sum = sum * (1-0.3)
        14              ElseIf a > 30 And a <= 40 Then
        15                  sum = sum * (1-0.4)
        16              ElseIf a > 40 And a <= 50 Then
        17                  sum = sum * (1-0.5)
        18              ElseIf a > 50 Then
        19                  sum = sum * (1-0.6)
        20              End If
        21              End If
        22              Me.TextBox3.Text = sum
        23          End Sub
        24      End Class

代码2-17的执行步骤如下:

① 第5行代码用于将用户输入的价格赋给变量sum;

② 第6行代码判断用户输入的折扣信息是否为空,若不为空,则执行其后面的代码;

③ 第7行代码将用户输入的折扣数赋给变量a;

④ 第8行到第21行代码是判断用户输入的折扣范围,并根据不同的范围计算合计价格;

⑤ 第22行代码将计算所得的合计价格显示在窗体上。

4 运行结果

按F5键,运行程序,结果如图2-19所示。

图2-19 实例2-13运行结果

2.Select Case…语句

Select Case…结构提供了If...Then...ElseIf结构的一个变通形式,可以从多个语句块中选择执行其中的一个。Select Case…语句提供的功能与If...Then...ElseIf语句类似,但是可以使代码更加简练易读。Select Case…结构在其开始处使用一个只计算一次的简单测试表达式,表达式的结果将与结构中每个Case的值比较。如果匹配,则执行与该Case关联的语句块。当需要使用多个条件时,Select Case…语句优于If…Then…ElseIf语句。

Select Case…语句语法如下:

        Select Case expression
            Case expressionlist
            statement(s)
        [Case Else
            [eslestatement(s)]]
        End Select

其中,

expression是必要参数,表示常数或表达式。

expressionlist是必要参数。其形式为expression,expression To expression,Is comparisonoperator expression的一个或多个组成的分界列表。To关键字可用来指定一个数值范围。如果使用To关键字,则较小的数值要出现在To之前。使用Is关键字时,则可以配合比较运算符(除Is和Like之外)来指定一个数值范围。如果没有提供,则Is关键字会被自动插入。

statement(s)是可选参数,一条或多条语句。当expression匹配expressionlist中的任何一个时执行对应的语句。

elsestatement(s)是可选参数,一条或多条语句。当expression不匹配Case子句的任何部分时执行的语句。

下面以实例说明Select Case…语句的使用。