2016-11-28 4 views
-2

Mein Programm erstellt derzeit Schaltflächen und weist ihnen Werte zur Laufzeit zu, und das funktioniert.Entfernen einer dynamisch erstellten Schaltfläche während der Laufzeit vb2008

Mein Problem ist jetzt, ich versuche, sie zu entfernen.

Ich habe das Problem erforscht, aber ich habe immer noch Probleme. Hier

ist der Code, der ausgeführt wird, wenn der Menüpunkt angeklickt wird:

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 

Hinweis: Die Tasten Wert im .Text Wert

Ich möchte eine Nummer eingegeben werden können in der Meldungsfeld, um das Programm anzuweisen, die entsprechende Schaltfläche zu löschen.

+1

Warum die VB6-Tag? Das ist eindeutig .net-Code. – MarkL

+0

Hallo dort. Um eine gute Frage zu StackOverflow zu stellen, ist es wichtig, dass Sie die Details der Probleme angeben, denen Sie gegenüberstehen. Es genügt nicht, nur "immer noch Probleme" zu sagen. Sie sollten uns idealerweise sagen, was die Probleme sind, z. Das Programm läuft ohne Fehler, tut aber nicht, was Sie wollen (in diesem Fall müssen Sie sagen, was es gerade tut und was es tun soll), oder wenn Sie einen Fehler erhalten, sagen Sie uns, welche Codezeile den Fehler verursacht, was Eingaben, die Sie verwendet haben, und was die Ausnahmedetails sind. Andernfalls wird Ihre Frage möglicherweise nicht als Thema angezeigt. – DeanOC

+0

ok danke für die Info krank Rember, dass für die nächste Zeit – Brian

Antwort

0

Hei, wie ich sehe, sind Sie auf dem richtigen Weg, aber newbtn1 ist eine ganze Zahl. newbtn1 sollte ein Button-Steuerelement sein (sollte die Schaltfläche zu entfernen).

auch versuchen, mich statt 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

ich sehe, dass ich auch die newbtn als Schaltfläche und newbtn1 als die Kontrolle im gehen werde versuchen und herauszufinden, dass, aber wenn ich scheitern krank versuchen Sie Ihre Option Vielen Dank – Brian

+0

'' Ihre Suchkriterien hier (vielleicht der Text/Beschriftung der Schaltfläche?) bedeutet dies, Verwendung, wenn c.caption = "die Button-Beschriftung der Schaltfläche, die Sie wollen", dann newbtn1 = c Ausfahrt end if – Twiebie

+0

I redigiert meine Antwort hoffe es hilft dir jetzt mehr. – Twiebie

Verwandte Themen