繁体   English   中英

在Visual Basic中使用模块

[英]Using Modules in Visual Basic

我正在编写一个包含三个表单和一个模块的程序。 一个表单有两个列表框,一个用于销售商品,一个用于购买的商品,还有一个文本框供用户输入他们想要的每个商品的数量,还有一个按钮来计算总价格。 待售物品及其价格如下:

小麦面包 - 1.15美元白面包 - $ 1.05甜甜圈 - 0.50美元和8.3%销售税葡萄干 - 0.25美元和2.0%销售税

就像我说的那样,除了这个之外还有其他两种形式,但是一旦我理解了如何使用这个形式,其他形式就不会成为问题。

该模块应该用于记录所有税收,并用于执行所有与税收相关的功能。

问题是,我以前从未使用过模块,也不确定如何设置它然后从其他表单中调用它。 这是我到目前为止为第一个表单编写的代码,

Option Strict On
Public Class Form1

Dim total As Double = 0
Dim Quantity As Integer

Private Sub btnAdd_Click(sender As Object, e As EventArgs) Handles btnAdd.Click
    If (txtQuantity.Text = "") Then
        MessageBox.Show("Please enter a quantity for the item you selected")
    ElseIf Not Integer.TryParse(txtQuantity.Text, Quantity) Then
        MessageBox.Show("The quantity entered is not numeric. Please add a numeric quantity.")
        Exit Sub
    Else
        lstPurchased.Items.Add(txtQuantity.Text & " " & lstSale.Text)
    End If
End Sub

Private Sub btnClear_Click(sender As Object, e As EventArgs) Handles btnClear.Click
    lstPurchased.Items.Clear()
    txtQuantity.Clear()
End Sub

Private Sub btnCalculate_Click(sender As Object, e As EventArgs) Handles btnCalculate.Click
    For Each item In lstSale.SelectedItems
        Select Case CStr(item)
            Case ("Wheat Bread")
                total += (CDbl(FormatCurrency(txtQuantity.Text)) * 1.15)
            Case ("White Bread")
                total += (CDbl(FormatCurrency(txtQuantity.Text)) * 1.05)
            Case ("Donuts")
                total += (CDbl(FormatCurrency(CDbl(txtQuantity.Text) * 0.5 * DONUT_TAX)))
            Case ("Raisins")
                total += (CDbl(FormatCurrency(CDbl(txtQuantity.Text) * (0.25 * RAISIN_TAX) + 0.25)))
        End Select
    Next
    MessageBox.Show(CStr(total))
 End Sub
End Class

这就是我对模块的一点点,就像我说的那样,我以前从未使用过模块,所以我不确定如何设置它。

Module TaxesModule
Public Const DONUT_TAX As Decimal = 0.083
Public Const RAISIN_TAX As Decimal = 0.02
Public Const SS_TAX As Decimal = 0.062

Public Function SalesTax(ByVal 

End Module

任何帮助或建议将不胜感激。

对于计算按钮单击操作,您必须转到每个选定的项目。 像这样:

Private Sub btnCalculate_Click(sender As Object, e As EventArgs) Handles btnCalculate.Click
        Dim total As Double = 0

        'summarize all selected items
        For Each item In lstSale.SelectedItems
            Select Case CStr(item)
                Case ("Wheat Bread")
                    total += (CDbl(FormatCurrency(txtQuantity.Text)) * 1.15)
                Case ("White Bread")
                    total += (CDbl(FormatCurrency(txtQuantity.Text)) * 1.05)
                Case ("Donuts")
                    total += (CDbl(FormatCurrency(CDbl(txtQuantity.Text) * 0.5 * DONUT_TAX)))
                Case ("Raisins")
                    total += (CDbl(FormatCurrency(CDbl(txtQuantity.Text) * (0.25 * RAISIN_TAX) + 0.25)))
            End Select
        Next
        MessageBox.Show(CStr(total))
    End Sub

所有变量,函数等。 可以从代码中的每个位置访问,而无需创建它的实例。 所以,你可以在模块中保留税款。

访问模块:

Public Class MyClass1
    Private Sub DoSomething()
        TOTAL += Add(40, 30)
    End Sub
End Class

Public Class MyClass2
    Private Sub DoSomething()
        TOTAL += Add(10, 20)
    End Sub
End Class

Public Module MyModule1
    Public TOTAL As Integer = 0
    Public Function Add(ByVal firstValue As Integer, ByVal secondValue As Integer) As Integer
        Return firstValue + secondValue
    End Function
End Module

你应该在类级别声明总数,而不是在事件处理程序中...

Option Strict On
Public Class Form1
Dim total As Double = 0 '<---- put it here

....
....

End Class

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM