Hallo,
ich wollte meine Antwort schon länger abschicken, hatte aber Probleme mit der Forums-Datenbank. Da ich sie ausführlicher geschrieben hatte als Khabarakh, schicke ich sie, obwohl sie im Ergebnis nicht mehr vorschlägt als er.
Zur Laufzeit "ganz einfach" erstellen? Nun ja, mit soviel Code wie erforderlich...
Zur Laufzeit löschen "mit der Entf-Taste"? So einfach natürlich nicht; dafür ist (wie beim Erstellen) entsprechend viel Code erforderlich. Insbesondere musst Du feststellen,
welches Control gelöscht werden soll.
Arbeitsanleitung zum Beispiel so:
- Im Formular muss KeyPreview = true gesetzt werden.
- Du musst das Ereignis KeyDown oder KeyUp nutzen, um das Drücken der Entf-Taste zu erhalten.
- In diesem Ereignis dürfte der Sender das aktuelle Control angeben; es könnte aber auch sein, dass Du mit ActiveControl arbeiten willst oder die aktuelle Maus-Position umrechnen musst. Auf jeden Fall musst Du auf diese Weise herausfinden, welches Control zu löschen ist.
- Dann musst Du den Parent des Controls bestimmen und es aus dessen Auflistung löschen:
C#-Quelltext
1: 2: 3: 4: 5:
| Control required = ... if (required.Parent != null) { required.Parent.Controls.Remove(required); required.Dispose(); } |
Anstelle des Parent kann auch mit dem Formular gearbeitet werden - je nach Situation.
Viel Erfolg! Jürgen
PS. Ohne Gewähr - ich hatte es nur so hingeschrieben.