VB.net添加按钮以形成

时间:2013-11-15 10:18:05

标签: vb.net

我有一个循环,我想在每次循环迭代时添加一个按钮......

我的上面有这个:

Dim mybut As New Button
Dim btn_number As Integer = 0

我在这段时间里有这个:

btn_number += 1
mybut.AutoSize = True
mybut.Name = "delete-btn" & btn_number
mybut.Location = New System.Drawing.Point(77, 112)
mybut.Text = "Delete"
With mybut.Controls
.Add(mybut)
End With

但是我得到了一条错误信息......这是丹麦文,所以我将它翻译成英文有点麻烦,对不起......但这是关于一个在循环中引用自身的对象。 ..

希望你们中的一些人能够发现这个问题......我可能写错了...... 感谢。

2 个答案:

答案 0 :(得分:1)

您无法将按钮添加到自己的控件中(与mybut.Controls.Add(mybut)一样) 您必须将它添加到某个容器的控件集合中,该集合可能是表单本身(Me.Controls.Add

mybut = New Button
btn_number += 1
With mybut
    mybut.AutoSize = True
    mybut.Name = "delete-btn" & btn_number
    mybut.Location = New System.Drawing.Point(77, 112 + 
                btn_number * (mybut.height + 5))
    mybut.Text = "Delete"
End With
Me.Controls.Add(mybut)  

您可能还想更改每个按钮的位置 - 如此处所示。

至于你的编辑:
把它放在循环上方:Dim mybut As Button
这在循环中:mybut = New Button

答案 1 :(得分:0)

问题是您尝试.Add(mybut)mybut.Controls

如果您在循环中使用此代码,则还必须考虑更改所创建的每个按钮的.Location