2016-11-28 72 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