CTRL-A выделяет скрытые строки в DataGridView - PullRequest
0 голосов
/ 03 марта 2012

У меня есть объект DataGridView в моей программе на C #, который, в зависимости от того, какие настройки фильтра включены, иногда содержит скрытые строки. У меня для параметра MultiSelect в DGV установлено значение True, и когда нажимается другая кнопка, идентификатор из каждой строки перемещается в ListBox. Тем не менее, я заметил, что, если я нажму CTRL-A, все строки, включая те, которые скрыты, также будут перемещены. Я скрываю строки, изменяя их свойство Visible на False.

Я оглянулся, но не смог найти решение, чтобы команда CTRL-A выделяла только видимые строки. Возможно ли это?

Спасибо!

1 Ответ

5 голосов
/ 03 марта 2012

Вы можете реализовать это пользовательское поведение, обрабатывая событие KeyDown сетки. В вашем случае вы можете написать что-то вроде этого:

private void grid_KeyDown(object sender, KeyEventArgs e)
{
    if (e.Modifiers == Keys.Control && e.KeyCode == Keys.A)
    {
        foreach (DataGridViewRow row in grid.Rows)
        {
            row.Selected = row.Visible;
        }
        e.Handled = true;
        e.SuppressKeyPress = true;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...