Получить координаты DataGridViewRow в DataGridView? - PullRequest
0 голосов
/ 15 февраля 2019

Мне нужно создать функцию, чтобы получить левую и правую координаты строки данных для Graphics.DrawLine().

(int x, int y) GetCoordinate(DataGridViewRow row, char leftOrRight)
{
    if (leftOrRight == "L") {
        return ( ) // the left coordinates or current row if visible, 
                   // or the coordinates of the header line if it's not visible
    }
    else if (leftOrRight == "R") {
        return ( ) // the right coordinates or current row if visible, 
                   // or the coordinates of the header line if it's not visible
    }
}

Использование:

var (x1, y1) = GetCoordinate(row1); // a row from data grid view 1
var (x2, y2) = GetCoordinate(row2); // a row from data grid view 2
graphics.DrawLine(pen, x1, y1, x2, y2);

Как получить координатыот объекта DataGridViewRow?

1 Ответ

0 голосов
/ 15 февраля 2019

Вы можете использовать функции ниже, чтобы получить (справа, сверху) и (слева, снизу) - который является ограничительной рамкой текущей строки.

Используя ширину и высоту, вы можете легко вывести координатыиз всех четырех углов.

    //X-cordiante of (right,top)
    double right = dataGridView1.CurrentRow.AccessibilityObject.Bounds.Right;
    //Y-cordiante of (right,top)
    double top = dataGridView1.CurrentRow.AccessibilityObject.Bounds.Top;
    //X-cordinate of (left,bottom)
    double left = dataGridView1.CurrentRow.AccessibilityObject.Bounds.Left;
    //Y-cordinate of (left,bottom)
    double bottom = dataGridView1.CurrentRow.AccessibilityObject.Bounds.Bottom;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...