none
Markieren eines Zelleninhalts bei CellClick RRS feed

  • Frage

  • Guten Morgen,

    im Moment arbeite ich an einem studienbedingten Projekt.

    Hierbei muss ich einen bereits geschriebenen Code editieren, was im Bezug auf die Übersicht nicht immer einfach ist.

    Probleme habe ich jetzt bei den erstellten DataGrids, die Werte und Bemerkungen enthalten.

    Sobald auf eine gewisse Zelle geklickt wird, soll der Inhalt bereits markiert werden, damit man direkt Einträge vornehmen kann. Momentan ist bei Klick eine 0 eingetragen, die leider nicht markiert wird und somit hinderlich ist.

    Mein Ansatz war folgender:

            private void vbDataGridView_CellEnter(object sender, DataGridViewCellEventArgs e)
            {
                vbDataGridView.BeginEdit(true);
            }        

    Das funktioniert leider nicht und ich muss zugeben, dass ich bisher nie wirklich mit DataGrids gearbeitet habe.

    Meine Frage wäre nun, ob es einen Weg gibt, den Inhalt einer Zelle zu markieren, wenn man auf diese klickt.

    (Edit: Nebenbei sollte ich wohl erwähnen, dass das Programm in Framework 2.0 geschrieben wurde)

    Mit freundlichen Grüßen

    Christy




    • Bearbeitet Crizzlybear Dienstag, 11. März 2014 10:05
    Dienstag, 11. März 2014 09:59

Antworten

  • Hallo,
    dann probiere es bitte nochmal mit folgendem Code:

    private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
    {
        dataGridView1.CurrentCell = dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex];//Aktuelle Zelle setzen
        dataGridView1.BeginEdit(false);//Zelle in dne beárbeitungsmodus bringen
        var tb = dataGridView1.EditingControl as TextBoxBase;//aktuelles Control zum bearbeiten abrufen
        if (tb != null)
        {
            tb.SelectAll();//gesamten Inhalt markieren
        }
    }

    Diese Lösung ist auch eleganter, als die vorherige mit dem Senden von Strg+A.

    Ich gehe hier natürlich davon aus, das deine Spalte eine DataGridViewTextBoxColumn ist.

    Wenn es dann noch immer nicht funktioniert, wird der Eventhandler denn auch ausgeführt? ist das EditingControl wirklich vom Typ TextBoxBase? Um welchen Spaltentyp handelt es sich?


    Koopakiller [kuːpakɪllɐ] (Tom Lambert)
    Webseite | Code Beispiele | Facebook | Twitter | Snippets   C# ↔ VB.NET Konverter
    Markiert bitte beantwortende Posts als Antwort und bewertet Beiträge. Danke.

    • Als Antwort vorgeschlagen Chrizzlybear Dienstag, 18. März 2014 08:35
    • Als Antwort markiert Ciprian Bogdan Dienstag, 18. März 2014 10:24
    Montag, 17. März 2014 14:17
    Moderator

Alle Antworten