vb.net - 有没有办法将已经创建的按钮放入数组中?
问题描述
我想要做的是将我已经创建的按钮放入一个数组中,但是,每当我查看数组时,它说那里什么都没有?我想知道我是否做错了什么。
Dim buttons As System.Windows.Forms.Button() = {Button1, Button2, Button3, Button4, Button5, Button6, Button7, Button8, Button9, Button10, Button11, Button12, Button13, Button14, Button15, Button16, Button17, Button18, Button19, Button20, Button21, Button22, Button23, Button24, Button25, Button26, Button27, Button28, Button29, Button30, Button31, Button32, Button33, Button34, Button35, Button36, Button37, Button38, Button39, Button40}
Private Sub ClearBtn_Click(sender As Object, e As EventArgs) Handles ClearBtn.Click
For i = 1 To 40
buttons(i).BackgroundImage = System.Drawing.Image.FromFile("leaf.png")
Next
End Sub
单击 Clearbtn 时,我得到 System.NullReferenceException: 'Object reference not set to an instance of an object。并且数组是空的。我已将数组设置为全局变量,所以它应该可以工作吗?
解决方案
问题是创建数组的代码在表单构造函数之前执行,因此在创建所有子控件之前。当然,这些领域在那时什么都不是。解决方案是声明您所在的字段,但要创建数组并将其分配给 Load 事件处理程序中的该字段。
推荐阅读
- c# - 异步执行代码并返回 MVC 动作
- reactjs - c# + reactjs + typescript + 基于令牌的身份验证的模板
- php - 使用 Abyss Web Server 实现 MySQL 时如何修复 HY000/2054?
- c# - 角色触墙后无法移动
- javascript - 将参数从我的函数传递到调用函数
- python-3.x - 如何使用 numpy 构建 RNN
- excel - 在 Excel 2016 (Office 365) 中隐藏/显示图表占位符
- python-3.x - 将 Numpy ndarray 连接到 Pandas 数据帧
- c++ - 在结构向量中获取数据作为输入时出现分段错误(SIGSEGV)
- html - CSS自定义下拉列表修改父div高度