1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
|
private void dataGridView1_MouseDown(object sender, MouseEventArgs e)
{
System.Windows.Forms.DataGridView.HitTestInfo htiInfo = dataGridView1.HitTest(e.X, e.Y);
if (htiInfo.RowIndex == -1 || htiInfo.ColumnIndex == -1) return;
//DialogResult merde = MessageBox.Show(htiInfo.RowIndex.ToString()+" "+htiInfo.ColumnIndex.ToString());
this.dataGridView1.DoDragDrop(this.dataGridView1.Rows[htiInfo.RowIndex], DragDropEffects.All);
}
void dataGridView1_DragDrop(object sender, DragEventArgs e)
{
DataGridView.HitTestInfo myHitTest;
Point PointArrive = new Point();
Point PointClient = new Point();
//Recup des coordonnés du clic dans le form
PointArrive.X = e.X;
PointArrive.Y = e.Y;
//Conversion des coordonnés dans le datagridview
PointClient = this.dataGridView1.PointToClient(PointArrive);
//Récupération du HiTestInfo
myHitTest = this.dataGridView1.HitTest(PointClient.X, PointClient.Y);
//Récup du rowindex source et destination
int DestRowIndex = System.Convert.ToInt32(this.dataGridView1.Rows[myHitTest.RowIndex]);
int SourceRowIndex = (int)e.Data.GetData(typeof(int));
//Traitement du drag and drop
this.dataGridView1.Rows[SourceRowIndex].Cells[2].Style.BackColor = Color.Red;
//===========
}
private void dataGridView1_DragOver(object sender, DragEventArgs e)
{
DataGridView.HitTestInfo myHitTest;
Point PointArrive = new Point();
Point PointClient = new Point();
//Recup des coordonnés du clic dans le form
PointArrive.X = e.X;
PointArrive.Y = e.Y;
//Conversion des coordonnés dans le datagridview
PointClient = this.dataGridView1.PointToClient(PointArrive);
//Récupération du HiTestInfo
myHitTest = this.dataGridView1.HitTest(PointClient.X, PointClient.Y);
//Récup du rowindex source et destination
//int DestRowIndex = this.dataGridView1.Rows[myHitTest.RowIndex].;
int SourceRowIndex = (int)e.Data.GetData(typeof(int));
//Traitement du drag and drop
//....
//===========
} |
Partager