private void dataGridView1_MouseLeave(object sender, EventArgs e) { Rectangle mouseRect = new Rectangle(MousePosition, new Size(1, 1)); var rectC = dataGridView1.GetColumnDisplayRectangle(dataGridView1.Columns.Count - 1, true); var right = rectC.Right; var rectR = dataGridView1.GetRowDisplayRectangle(dataGridView1.Rows.Count - 1, true); var bottom = rectR.Bottom; var rect = new Rectangle( dataGridView1.PointToScreen(dataGridView1.Location), new Size(right, bottom)); if (!rect.IntersectsWith(mouseRect)) { ttText.Hide(this); } }