My program won't use the new updated total instead it uses the original total
<p>For my final, I have to write a program in C#. It is suppose be a bank account with the user being able to add or withdraw sums from the original account balance. The program itself works, but for some reason it does use the updated balance for the second time around. Instead it still uses the beginning balance. Example would be you have $100 at the start, you take out $20, and makes the new balance $80. The next time you add or even remove money, it takes it from the $100 instead of the $80. Any ideas on what I may have done wrong?</p>

<p>Here's my code so far:</p>

<pre><code>namespace BankingAccount
{
    public partial class Entrance : Form
    {
        public string name;
        public int number;
        public double total;
        public double with;
        public double dep;

        public Entrance()
        {
            InitializeComponent();
        }

        private void btnEnter_Click(object sender, EventArgs e)
        {
            setVisPart1(true);
        }

        private void btnClear_Click(object sender, EventArgs e)
        {
            txtAcctName.Clear();
            txtAcctName.Enabled = true;
            txtAcctNumber.Clear();
            txtAcctNumber.Enabled = true;
            lblBalance.Text = "Beginning Balance:";
            txtBalance.Clear();
            txtBalance.Enabled = true;
            setVisibility(false);
        }

        private void btnContinue_Click(object sender, EventArgs e)
        {
            string line;
            int val;
            double value;

            name = txtAcctName.Text;

            line = txtAcctNumber.Text;

            if (int.TryParse(line, out val))
            {
                if (val &lt; 0)
                {
                    MessageBox.Show("Invalid number");

                    txtAcctNumber.Clear();
                }
                else
                {
                    number = int.Parse(txtAcctNumber.Text);

                    txtAcctNumber.Enabled = false;
                }
            }
            else
            {
                MessageBox.Show("Invalid number");

                txtAcctNumber.Clear();
            }

            line = txtBalance.Text;

            if (double.TryParse(line, out value))
            {
                total = double.Parse(txtBalance.Text);

                txtBalance.Enabled = false;
                lblBalance.Text = "Available Balance:";
            }
            else
            {
                MessageBox.Show("Invalid number");

                txtBalance.Clear();
            }

            txtAcctName.Enabled = false;
            setVisPart2(true);
            btnContinue.Visible = false;
        }

        private void btnCalculate_Click(object sender, EventArgs e)
        {
            string line;
            double value;

            total = double.Parse(txtBalance.Text);

            line = txtWithdrawal.Text;

            if (double.TryParse(line, out value))
            {
                with = double.Parse(txtWithdrawal.Text);
            }
            else
            {
                MessageBox.Show("Invalid number");

                txtWithdrawal.Clear();
            }

            line = txtDeposit.Text;

            if (double.TryParse(line, out value))
            {
                dep = double.Parse(txtDeposit.Text);
            }
            else
            {
                MessageBox.Show("Invalid number");

                txtDeposit.Clear();
            }

            Banking anAccount = new Banking(name, number, total, with, dep);

            txtBalance.Text = anAccount.Balance.ToString("C");

            txtWithdrawal.Clear();
            txtDeposit.Clear();
        }

        private void setVisibility(bool visibilityValue)
        {
            lblName.Visible = visibilityValue;
            lblNumber.Visible = visibilityValue;
            lblBalance.Visible = visibilityValue;
            lblWithdrawal.Visible = visibilityValue;
            lblDeposit.Visible = visibilityValue;
            txtAcctName.Visible = visibilityValue;
            txtAcctNumber.Visible = visibilityValue;
            txtBalance.Visible = visibilityValue;
            txtWithdrawal.Visible = visibilityValue;
            txtDeposit.Visible = visibilityValue;
            btnCalculate.Visible = visibilityValue;
            btnContinue.Visible = visibilityValue;
        }

        private void setVisPart1(bool visibilityValue)
        {
            lblName.Visible = visibilityValue;
            lblNumber.Visible = visibilityValue;
            lblBalance.Visible = visibilityValue;
            txtAcctName.Visible = visibilityValue;
            txtAcctNumber.Visible = visibilityValue;
            txtBalance.Visible = visibilityValue;
            btnContinue.Visible = visibilityValue;
        }

        private void setVisPart2(bool visibilityValue)
        {
            lblWithdrawal.Visible = visibilityValue;
            lblDeposit.Visible = visibilityValue;
            txtWithdrawal.Visible = visibilityValue;
            txtDeposit.Visible = visibilityValue;
            btnCalculate.Visible = visibilityValue;
        }
    }
}
</code></pre>

<p>Here's my class coding:</p>

<pre><code>namespace BankingAccount
{
    class Banking
    {
        private string acctName;
        private int acctNumber;
        private double balance;
        private double withdrawal;
        private double deposit;

        public Banking(string name, int number, double total, double with, double dep)
        {
            acctName = name;
            acctNumber = number;
            balance = total;
            withdrawal = with;
            deposit = dep;
            DetermineBalance();
        }

        public string AcctName
        {
            set
            {
                acctName = value;
            }
            get
            {
                return acctName;
            }
        }

        public int AcctNumber
        {
            set
            {
                acctNumber = value;
            }
            get
            {
                return acctNumber;
            }
        }

        public double Withdraw
        {
            set
            {
                withdrawal = value;
            }
            get
            {
                return withdrawal;
            }
        }

        public double Deposit
        {
            set
            {
                deposit = value;
            }
            get
            {
                return deposit;
            }
        }

        public double Balance
        {
            set
            {
                balance = value;
            }
            get
            {
                return balance;
            }
        }

        public void DetermineBalance()
        {
            balance = balance + (deposit - withdrawal);
        }
    }
}
</code></pre>
