C # ListView Ширина плитки 100%? - PullRequest
       10

C # ListView Ширина плитки 100%?

3 голосов
/ 16 декабря 2010

У меня ListView установлен в Tileview. Ширина ListView равна 300, как и ширина плитки.

Это прекрасно работает, когда количество плиток не переполняется, что приводит к полосе прокрутки.

Однако при переполнении при появлении вертикальной полосы прокрутки появляется горизонтальная полоса прокрутки, поскольку вертикальная полоса прокрутки уменьшает ширину списка для плиток. Есть ли способ, которым я могу иметь автоматическое изменение размера плиток для заполнения списка?

См. Пример изображения:

Что сейчас происходит: alt text

Что я хочу, чтобы произошло: alt text

Я попытался установить ширину на 100%, но это не работает. Есть идеи?

1 Ответ

4 голосов
/ 17 декабря 2010

Нет прямого способа обнаружить, что полоса прокрутки стала видимой. Однако косвенным путем напишите обработчик события для события ClientSizeChanged:

    private void listView1_ClientSizeChanged(object sender, EventArgs e) {
        listView1.TileSize = new Size(listView1.ClientSize.Width, listView1.TileSize.Height);
    }

Также измените настройку DPI на своем компьютере, чтобы убедиться, что размер плитки по-прежнему соответствует. Это обычно меняет размер элементов управления. ClientSize.Width - ваш друг.

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