2016-11-28 95 views
-2

我的程序当前创建按钮并在运行时为它们赋值,这是有效的。在运行时删除一个动态创建的按钮vb2008

我的问题是现在我试图删除它们。

我已经研究过这个问题,但我仍然有问题。

这里是运行菜单项被点击时的代码:

Private Sub RemoveDriverToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RemoveDriverToolStripMenuItem.Click 

    Dim removedriver As Integer 

    Dim newbtn1 As Integer 

    removedriver = InputBox("Driver to remove ", " Driver number to remove") 

    If removedriver = newbtn1 Then 

     FLP.Controls.Remove(newbtn1) 

     newbtn1.dispose() 

    End If 

End Sub 

注:按钮值是在.text值

我希望能够输入一个号码在消息框指示程序删除相应的按钮。

+1

为什么VB6的标签?这很清楚.net代码。 – MarkL

+0

你好。要在StackOverflow上提出一个很好的问题,提供您所面临问题的详细信息非常重要。仅仅说“仍然有问题”是不够的。您应该理想地告诉我们问题是什么,例如程序运行没有错误,但没有做你想做的事情(在这种情况下,你需要说明它现在做什么以及它应该做什么),或者如果你得到一个错误,告诉我们什么代码导致错误,什么是什么您使用的输入以及异常详细信息。否则,你的问题可能会被作为题外话来结束。 – DeanOC

+0

好的谢谢信息病态rember下一次 – Brian

回答

0

Hei, 正如我所看到的你是正确的方式,但newbtn1是一个整数。 newbtn1应该是一个按钮控件(应该是按钮控件来删除)。

也可以尝试我不是FLP

Dim searchList as New List(of Control) 
Set searchList = Me.Controls 
For each c as Control in searchList 
    if c.text = "THE BUTTON YOU WANT TO DELETE" Then 
    Set newbtn1 = c 
    exit for 
    end if 
Next 
Me.Controls.Remove(newbtn1) 
+0

我看到,也不得不创建newbtn作为按钮和newbtn1作为控制即时通讯试图找出,但如果我失败尝试你的选择谢谢 – Brian

+0

“”在这里你的搜索条件(按钮的可能文本/图片说明吗?) 这意味着如果使用= c.caption“按钮的按钮标题你想”,那么 newbtn1 = C 出境的 结束时,如果 – Twiebie

+0

我编辑我的答案希望现在它可以帮助你更多。 – Twiebie