Coordinate vertice alto sinistro di una cella di Datagrid

mercoledì 13 febbraio 2008 - 12.18

contiello Profilo | Senior Member

Ciao a tutti...
premetto l'utilizzo del Framework 1.1

ho il seguente problema..

io ho un datagrid ,nell evento mousemove riesco a recuperare le coordinate del mouse attraverso e.x ed e.y fin qui tutto ok

io avrei però bisogno di calcolare le coordinate del vertice alto a sinistra della cella su cui punta il mouse.

vi allego un immagine che spero spieghi il problema.

Grazie

aiedail92 Profilo | Expert

Ciao

col framework 1.1 la vedo dura...

Sono stati introdotti diversi metodi classi e utili a fare quello di cui hai bisogno dal 2.0, ad esmpio la classe HitTestInfo e il metodo HitTest, oppure GetCellDisplayRectangle...

Prova a vedere se riesci a migrare al framework 2.0 o successivi...

Luca

contiello Profilo | Senior Member

Grazie per la risposta ma ovviamente se avessi potuto fare ciò non avrei scritto questo post...

purtroppo devo arrangiarmi...

grazie cmq

aiedail92 Profilo | Expert

provo a rimediare ...

Allora, tenta con questa funzione:

Point GetCellPointUpLeft(Point p) { int finalx = tuoDataGridView.ColumnHeadersHeight; int finaly = tuoDataGridView.RowHeadersWidth; foreach (DataGridViewColumn column in tuoDataGridView.Columns) { if (p.X > finalx + column.Width) { finalx += column.Width; } else { break; } } foreach (DataGridViewRow row in tuoDataGridView.Rows) { if (p.Y > finaly + row.Height) { finaly += row.Height; } else { break; } } return new Point(finalx, finaly); }

Luca

contiello Profilo | Senior Member

we grazie ho risolto...

con questo semplice metodo...

Dim xrect As Rectangle = DataGrid1.GetCellBounds(DataGrid1.CurrentRowIndex, DataGrid1.CurrentCell.ColumnNumber)

restituisce le coordinate della cella

grazie lo stesso

a presto

aiedail92 Profilo | Expert



Scusa, pensavo ti servisse ottenere il punto da coordinate in pixel.

Allora tanto meglio

Alla prossima

Luca
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5