首页 > 解决方案 > 无限动态按钮创建

问题描述

我目前的任务涉及在 Visual Basic 中创建一个游戏,并且我选择了一个基本的空闲游戏

我试图让程序创建一个新按钮,每次比特的总量(我用作“货币”的单位)是 2 的倍数,但它没有两次创建相同的按钮,但是尽管它注册位计数器达到 2 时出现 0 错误,程序崩溃

我不太精通 Visual Basic,因为我的典型编程语言是 Python 3。

代码如下,所有命名变量都已定义。

Private Sub btnSendBit_Click(sender As Object, e As EventArgs) Handles btnSendBit.Click
    lblBitAmount.Text = BitTotal + (1 * ClickMult)
    BitTotal += (1 * ClickMult)
    If BitTotal Mod 2 = 0 Then
        Dim btn As Button = New Button
        btn.Location = New Point(128 + (ButtonAmount * 30), 32)
        btn.Name = btnUpgrade(ButtonAmount)
        btn.Text = ButtonAmount & "bits"
        Me.Controls.Add(btn)
        AddHandler btn.Click, AddressOf BuyUpgrade
    End If
End Sub

Sub BuyUpgrade()
    BitGain += ButtonAmount
End Sub

Private ReadOnly Property btnUpgrade(buttonAmount As Integer) As String
    Get
        Throw New NotImplementedException()
    End Get
End Property

编辑:我阅读了当前的评论,我必须重申我是 VB 的新手。我用于动态按钮生成的代码是从其他地方复制的,因为在我的(诚然简短的)搜索中找不到任何关于它的文档。除了定义新按钮及其位置等明确内容之外,我几乎不明白每个部分应该做什么。如果有人可以解释修复,就像与几乎不了解该主题的人交谈一样,那将非常有帮助。感谢提供建议并指出异常的人。

标签: vb.netdynamic

解决方案


您可以使用 Gridview 连接到数据库: 1- 使用数据库增加并显示按钮的数量 2- 使用 Gridview 规范(无边框,无标题,...) 3- 每次用户单击按钮时,数据库将保存一个额外的数字(增量)并使用数据绑定,您可以刷新表。4-使用Gridview行方法控制每个按钮


推荐阅读