Datagridview: Doppelclick auf Row von Doppelclick auf Spaltenbreite unterscheiden

27/02/2010 - 21:09 von Alberto Luca | Report spam
Hallo NewsGroup,

ich habe ein DGV, in welchem standardmàssig der Doppelclick zwischen 2
Spalten zum Optimieren der Spaltenbreite unterstützt wird.

Nun möchte ich einen Doppelclick auf eine Row interpretieren und ein
Detail-Fenster öffnen.
Leider wird nun auch der Doppelclick für Spaltenbreite-Optimierung als
Doppelclick interpretiert.

Wie kann ich den Doppelclick unterschiedlich interpretieren?
Wenn ich nun das Standard-Verhalten zum Optimieren der Spaltenbreite selbst
ansteuern muss, wie kann ich das erreichen?

Besten Dank vorab!
Ciao, Alberto
 

Lesen sie die antworten

#1 Frank Dzaebel
27/02/2010 - 22:50 | Warnen spam
Hallo Alberto,

ich habe ein DGV, in welchem standardmàssig der Doppelclick zwischen 2
Spalten zum Optimieren der Spaltenbreite unterstützt wird.



OK, also zwischen den Header-Spalten der Header-Row.
Ist ja normal auch zwischen den RowHeader'n der Rows (Zeilenhöhe).



Nun möchte ich einen Doppelclick auf eine Row interpretieren und ein
Detail-Fenster öffnen.
Leider wird nun auch der Doppelclick für Spaltenbreite-
Optimierung als Doppelclick interpretiert.



Man kann in den Click und DoubleClick-Ereignissen (u.a.)
auch immer den Typ der Zelle abfragen (etwa ColumnHeader).
Mal ein Beispiel, das Du dann nach Deinen Wünschen anpasst:

private void dataGridView1_DoubleClick(object sender, EventArgs e)
{
Point p = dataGridView1.PointToClient(Cursor.Position);
DataGridView.HitTestInfo hit = dataGridView1.HitTest(p.X, p.Y);
Console.WriteLine(hit.ToString());
if (hit.Type == DataGridViewHitTestType.ColumnHeader)
Console.WriteLine("Ein Beispiel für ColumnHeaderClick");
}


Wie kann ich den Doppelclick unterschiedlich interpretieren?



ich denke, es ist damit klar. Ansonsten noch mal nachfragen.


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen