Формы C # - Изменение размера DataGridView удаляет полосу прокрутки - PullRequest
0 голосов
/ 14 декабря 2011

У меня есть форма, которая содержит DataGridView. Когда сетка заполнена, она имеет около 2500 строк. Из-за этого ScrollBar размещен справа для навигации. Это по умолчанию.

Я только что запрограммировал мою форму, чтобы изменить размер DGV. Когда пользователь изменяет размер сейчас, полоса прокрутки исчезает. Вы все еще можете перемещаться с помощью колесика мыши.

Я хочу вернуть полосу прокрутки назад.

Кто-нибудь знает, почему это происходит?

for (int i = 0; i < languageTabs.TabCount; i++)
        {
            Control[] ctrls = languageTabs.TabPages[i].Controls.Find(languageTabs.TabPages[i].Name + "Grid", true);
            DataGridView dgv = ctrls[0] as DataGridView;
            dgv.Size = new System.Drawing.Size(this.Width - 40, this.Height - 125);
            dgv.ScrollBars = ScrollBars.None; // doesnt seem to do anything
            dgv.ScrollBars = ScrollBars.Both; // doesnt seem to do anything
        }

Abve - это цикл изменения размера для всех вкладок и DGV.

1 Ответ

1 голос
/ 14 декабря 2011
            // resize the dgv and columns
            for (int i = 0; i < languageTabs.TabCount; i++)
            {
                Control[] ctrls = languageTabs.TabPages[i].Controls.Find(languageTabs.TabPages[i].Name + "Grid", true);
                DataGridView dgv = ctrls[0] as DataGridView;

                dgv.SetBounds(14, 14, this.Width - 70, this.Height - 150);
            }

Проблема заключалась в том, что я измерял аммонт (-70, -150).Раньше его было слишком мало, поэтому полоса прокрутки была скрыта вправо.

...