Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Allgemeine Aufgaben bei der Anwendungsentwicklung sind das Hinzufügen von Steuerelementen zu bzw. das Entfernen aus einem beliebigen Containersteuerelement in Formularen (wie z. B. die Steuerelemente Panel oder GroupBox oder sogar das Formular selbst). Zur Entwurfszeit können Steuerelemente direkt auf ein Panel oder Gruppenfeld gezogen werden. Zur Laufzeit verwalten diese Steuerelemente eine Controls
-Auflistung, die protokolliert, welche Steuerelemente darauf platziert werden.
Anmerkung
Das folgende Codebeispiel gilt für jedes Steuerelement, das eine Auflistung von Steuerelementen verwaltet.
So fügen Sie ein Steuerelement programmgesteuert zu einer Sammlung hinzu
Erstellen Sie eine Instanz des hinzuzufügenden Steuerelements.
Legen Sie die Eigenschaften des neuen Steuerelements fest.
Fügen Sie der
Controls
-Sammlung des übergeordneten Elements das Steuerelement hinzu.Im folgenden Codebeispiel wird gezeigt, wie eine Instanz des Button-Steuerelements erstellt wird. Voraussetzung hierfür sind ein Formular mit einem Panel-Steuerelement und das Vorhandensein der Ereignisbehandlungsmethode für die zu erstellende Schaltfläche,
NewPanelButton_Click
.Public NewPanelButton As New Button() Public Sub AddNewControl() ' The Add method will accept as a parameter any object that derives ' from the Control class. In this case, it is a Button control. Panel1.Controls.Add(NewPanelButton) ' The event handler indicated for the Click event in the code ' below is used as an example. Substite the appropriate event ' handler for your application. AddHandler NewPanelButton.Click, AddressOf NewPanelButton_Click End Sub
public Button newPanelButton = new Button(); public void addNewControl() { // The Add method will accept as a parameter any object that derives // from the Control class. In this case, it is a Button control. panel1.Controls.Add(newPanelButton); // The event handler indicated for the Click event in the code // below is used as an example. Substitute the appropriate event // handler for your application. this.newPanelButton.Click += new System.EventHandler(this. NewPanelButton_Click); }
So entfernen Sie Steuerelemente aus einer Auflistung programmgesteuert
Entfernen Sie den Ereignishandler aus dem Ereignis. Verwenden Sie in Visual Basic das Schlüsselwort RemoveHandler-Anweisung und in C# den Operator -=.
Verwenden Sie die Methode
Remove
, um das gewünschte Steuerelement aus derControls
-Sammlung des Panels zu löschen.Rufen Sie die Dispose-Methode auf, um alle vom Steuerelement verwendeten Ressourcen freizugeben.
Public Sub RemoveControl() ' NOTE: The code below uses the instance of ' the button (NewPanelButton) from the previous example. If Panel1.Controls.Contains(NewPanelButton) Then RemoveHandler NewPanelButton.Click, AddressOf _ NewPanelButton_Click Panel1.Controls.Remove(NewPanelButton) NewPanelButton.Dispose() End If End Sub
private void removeControl(object sender, System.EventArgs e) { // NOTE: The code below uses the instance of // the button (newPanelButton) from the previous example. if(panel1.Controls.Contains(newPanelButton)) { this.newPanelButton.Click -= new System.EventHandler(this. NewPanelButton_Click); panel1.Controls.Remove(newPanelButton); newPanelButton.Dispose(); } }
Weitere Informationen
.NET Desktop feedback