You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VB自动售货机项目问题:金额无法按预期显示

解决VB自动售货机金额累加问题

嘿,我一眼就看出问题出在哪啦!你现在的代码里,clicks和total_money是在按钮点击事件内部声明的局部变量——每次你点击按钮,这个方法都会重新执行一遍,这两个变量会被重新初始化为0,所以不管点多少次,clicks都会被重置后再加1,结果永远是1,自然文本框只显示10p啦。

修复方案:把变量移到类级别

你需要把这两个变量的声明移到Form1类的顶部,作为类的私有成员,这样它们的值就能在多次点击之间被保留下来。修改后的代码如下:

Public Class Form1
    ' 把变量移到类级别,作为Form1的私有成员
    Private clicks As Integer = 0
    Private total_money As Integer = 0
    Const pence_sign As String = "p"

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        clicks += 1
        total_money = 10 * clicks
        txtMoneyDisplay.Text = total_money & pence_sign
    End Sub
End Class

更简洁的写法(直接累加金额)

其实你完全可以不用clicks变量,直接对total_money进行累加,逻辑更直观:

Public Class Form1
    Private total_money As Integer = 0
    Const pence_sign As String = "p"

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        ' 每次点击直接加10便士
        total_money += 10
        txtMoneyDisplay.Text = total_money & pence_sign
    End Sub
End Class

这样修改后,每次点击按钮,total_money都会保留之前的数值并累加10,文本框就能正确显示累计金额啦~

内容的提问来源于stack exchange,提问作者BreakingMyBrain

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 07:47:24