Wohin mit eigener Klasse GridView



  • Hallo,

    damit ich den Delete-Button bei meinem DataGridView (WinForms) abfangen kann, hab ich mir dazu nun eine eigene Klasse geschrieben.

    class MyGrid : DataGridView
         {
             protected override void OnKeyDown(KeyEventArgs e)
             {
                 if (e.KeyCode == Keys.Delete)
                     return;
    
                 base.OnKeyDown(e);
             }
         }
    

    Nun meine Frage: Wo schreibe ich den Code am sinnvollsten hin? Innerhalb der Form, in der ich es auch anwende?
    Oder generell eine publich Klasse erstellen, falls ich es für weitere Forms einsetzten möchte?

    Dann noch eine Frage generell zum "designen" er Forms:
    Verwendet ihr zum erstellen der Controls die Entwurfsansicht, oder fügt ihr alles per Code ein?

    Danke Euch und einen schönen Tag noch 🙂



  • Am sinnvollsten in eine eigene Datei (und am besten in einen eigenen Unterordner "Controls" oder sogar in einer eigenen Assembly, falls du mehrer Controls und/oder UserControls entwickelt hast, die auch für andere Projekte einsetzbar sind).

    Bei deinem Code jedoch ist zu hinterfragen, ob man dafür wirklich ein eigenes Control benötigt (bzw. welchen Sinn dein Code hat), denn wenn du das Löschen einer Zeile unterbinden willst, dann gibt es dafür die Eigenschaft 'AllowUserToDeleteRows'.


Anmelden zum Antworten