DataGridView Первый столбец всегда больше - PullRequest
0 голосов
/ 23 февраля 2012

Я пытаюсь сделать первый ряд DataGridView больше.Я пытался использовать OnScroll, но он не всегда попадает в цель.Есть ли событие индекса первого изменения строки, которое я могу использовать вместо OnScroll?

private int lastRow = -1;
private void dgvN_Scroll(object sender, ScrollEventArgs e)
{
    int firstVisibleRow = dgvN.HitTest(dgvN.RowTemplate.MinimumHeight,
        dgvN.RowHeadersWidth).RowIndex;

    if (lastRow != firstVisibleRow && firstVisibleRow != -1)
    {
        dgvN.Rows[firstVisibleRow].Height = 50;
        if (lastRow != -1)
        {
            dgvN.Rows[lastRow].Height = 20;
        }
        lastRow = firstVisibleRow;
    }
}

1 Ответ

2 голосов
/ 23 февраля 2012

Изменение

int firstVisibleRow = dgvN.HitTest(dgvN.RowTemplate.MinimumHeight,
    dgvN.RowHeadersWidth).RowIndex;

до

int firstVisibleRow = dgvN.FirstDisplayedScrollingRowIndex;

(по крайней мере, я думаю, что это поведение, которое вы хотите, исходя из того, как ваш код вел себя при вставке в мой тестовый проект и вашего комментария о том, что "он не всегда попадает в точку")

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...