Ich verwende SelectionChanged
Ereignis eines DataGridView
. Ich habe einen Code, der den Wert einer Zelle DataGridView
zu einem TextBox
anzeigt. Wenn ich jedoch auf die Spaltenüberschrift klicke, löst dies auch den Code aus (ich vermute wegen des Ereignisses SelectionChanged
) und wird einen Fehler anzeigen.Wie überprüft man, ob Spaltenüberschrift in Datagridview mit SelectionChanged-Ereignis
Was ich erreichen möchte, ist meine Codes in der datagridview1_SelectionChanged
in einer if
Anweisung beizufügen. Wobei:
if(column header is clicked)
//don't do anything`
else
//do the display of data to textbox`
Ich möchte nur den Code für die Überprüfung wissen, ob Sie eine Überschrift angeklickt oder nicht.
einfach testen if (selectedCells .Count> 0) – TaW
Standardmäßig wird durch Klicken auf eine Spaltenüberschrift das SelectionChanged-Ereignis nicht ausgelöst. In der Standardeinstellung wird nur sortiert und die Auswahl wird nicht geändert. Es kann sich um benutzerdefinierten Code handeln, der alle Zellen in einer Spalte auswählt? was passiert, wenn Sie auf Ihre Spaltenüberschrift klicken. versuchen Sie zu diesem Zeitpunkt, Ihr Stacktrace zu debuggen. – Tewr
@TaW, Ich habe den Code ausprobiert. Es funktionierte teilweise, weil ich immer noch den Fehler erhalte, aber dann mein Beispiel 'MessageBox' in' SelectedCells.Count> 0' anzeigt. Ich debuggte es und fand heraus, dass es immer noch zu meiner Exception in 'catch' geht, weil ich denke, wenn' SelectionChanged' auslöst, ist 'SelectedCells.Count' nicht 0 und geht zum' catch', dann geht es zurück zur Überprüfung von 'SelectedCells.Count' und es zählt jetzt als 0 und zeigt das Beispiel' MessageBox' an –