Переменная из класса не добавляет новый пользовательский ввод - PullRequest
0 голосов
/ 15 мая 2019

Я создаю бухгалтерское приложение для домашней работы.Приложение должно иметь отдельный класс, который содержит переменные для баланса, процента, процентной ставки и количества транзакций.Баланс должен меняться с каждым снятием и внесением депозита.

В настоящее время у меня есть открытая подпрограмма в классе сальдо, которая добавляет депозит в переменную, которая проверяет наличие отрицательных значений.В основном для щелчка по btnDeposit у меня есть метка, которая выводит переменную из класса сальдо для отображения.Он показывает значение, но следующий вход не добавляется в переменную, он просто отображает текущий депозит.

Public Class Balance

    Public dblBalance As Double
    Public decDeposit As Decimal
    Public decWithdraw As Decimal
    Public dblIntrest As Double
    Public dblIntRate As Double
    Public intTransactions As Integer

    Public Sub New()
        dblBalance = 0
        intTransactions = 0
        decDeposit = 0
        decWithdraw = 0
        dblIntRate = 5
        dblIntrest = 0

    End Sub

    Public Sub MakeDeposit()

        decDeposit = InputBox("Enter the Deposit Amount", "Deposit", "0.00")

        If decDeposit < 0 Then
            MessageBox.Show("Enter a Positive Number")
        ElseIf decDeposit >= 0 Then
            dblBalance += decDeposit
            intTransactions += 1
        End If


    End Sub

Public Class Form1

    Private Sub btnDeposit_Click(sender As Object, e As EventArgs) Handles btnDeposit.Click

        Dim Balance = New Balance()

        Balance.MakeDeposit()

        lblBalance.Text = Balance.dblBalance.ToString("C")
        lblTransactions.Text = Balance.intTransactions

    End Sub

    Private Sub btnExit_Click(sender As Object, e As EventArgs) Handles btnExit.Click
        Me.Close()
    End Sub

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        lblBalance.Text = 0.ToString("C")
        lblInterest.Text = 0.ToString("C")
        lblIntRate.Text = 0.ToString("P")
        lblTransactions.Text = 0.ToString("G")

    End Sub
End Class

Переменная должна добавлять значение каждый раз.

1 Ответ

1 голос
/ 15 мая 2019

Похоже, что ваше событие нажатия кнопки депозита содержит переменную, в которой хранится экземпляр вашего класса депозита.Таким образом, каждый раз, когда вы нажимаете эту кнопку, он создает класс, а затем уничтожает его после завершения события нажатия кнопки.Вы захотите изменить Dim Balance = New Balance () на переменную уровня класса, выдвинув ее из процедуры нажатия кнопки следующим образом

Public Class Form1
    Dim Balance = New Balance()
    Private Sub btnDeposit_Click(sender As Object, e As EventArgs) Handles btnDeposit.Click
        Balance.MakeDeposit()
        lblBalance.Text = Balance.dblBalance.ToString("C")
        lblTransactions.Text = Balance.intTransactions
    End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...