Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Wie kann ich auf Tastatureingaben in einer DataGridViewTextBoxCell reagieren?
Anchiko
myCSharp.de - Member



Dabei seit:
Beiträge: 12

Themenstarter:

Wie kann ich auf Tastatureingaben in einer DataGridViewTextBoxCell reagieren?

beantworten | zitieren | melden

Hallo,

ich habe ein ungebundenes DataGridView-Objekt erstellt und möchte auf Tatstureingaben in einer DataGridViewTextBoxCell reagieren (Framework .NET 5.0).

Ich bin dabei inhaltlich so vorgegangen wie es hier beschrieben wird:

1. Ich habe ein eigenes DataGridviewTextBoxCell-Objekt erstellt und die OnKeyDown-Methode überschrieben:


    public class EigeneDataGridViewTextBoxCell : DataGridViewTextBoxCell
    {
        public EigeneDataGridViewTextBoxCell() : base() {  }

        protected override void OnKeyDown(KeyEventArgs e, int rowIndex)
        {
            base.OnKeyDown(e, rowIndex);
            // weitere Bearbeitung
        }
    }

2. Ich habe ein eigenes DataGridViewColumn-Objekt erstellt:


    public class EigeneDataGridViewColumn: DataGridViewColumn
    {
        public EigeneDataGridViewColumn() : base() 
        {
            CellTemplate = new EigeneDataGridViewTextBoxCell();
        }
    }

3. Diese eigene Spaltenart habe ich meinem DataGridView-Objekt hinzugefügt:


EigeneDataGridViewColumn spalte = new EigeneDataGridViewColumn()
{
    Name = "DGVCTest",
    HeaderText = "Test"
};
dataGridView1.Columns.Add(spalte);

Leider wird die OnKeyDown-Methode meines "EigeneDataGridViewTextBoxCell"-Objekts nie aufgerufen.

Was mache ich falsch?

Vielen Dank im Voraus!
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15525
Herkunft: BW

beantworten | zitieren | melden

Als Hinweis: es gibt kein Framework .NET 5.0.
Die Ära vom .NET Framework ist seit 4.8 vorbei. Die neue Welt heisst .NET Core und seit .NET 5 ist das Core weggefallen.

Du musst an allen eigenen Controls die Events überschreiben; das hat Du schon gemacht, auch wenn man das hier nicht sieht, oder?
private Nachricht | Beiträge des Benutzers
Anchiko
myCSharp.de - Member



Dabei seit:
Beiträge: 12

Themenstarter:

beantworten | zitieren | melden

Hallo Abt,

vielen Dank für Deine Antwort.

Ich stehe jetzt etwas auf dem Schlauch: was meinst Du mit "..an allen eigenen Controls..."?

Ich dachte, wenn der Column als CellTemplate meine eigene TextBoxCell hinterlegt ist, dass dann automatosch dieses Objekt verwendet wird. Oder muss ich es so verstehen, dass bei jedem Instanziieren der TextBoxCell meine eigene TextBoxCell angegeben werden muss? Wenn ja, wo muss ich ansetzen?

Danke und Grüße
Anchiko
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Anchiko am .
private Nachricht | Beiträge des Benutzers