无限动态按钮创建

如何解决无限动态按钮创建

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

每当 Bits(我用作“货币”的单位)是 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 的新手。我用于动态按钮生成代码是从其他地方复制的,因为我在我的(无可否认的简短)搜索中找不到任何关于它的文档。除了像定义新按钮及其位置这样的明确内容之外,我几乎不明白每个部分应该做什么。如果有人可以像与几乎不了解该主题的人交谈一样解释修复,那将非常有帮助。 感谢提出建议并指出例外情况的人。

解决方法

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?