C # Winforms - Когда инициализируются полосы прокрутки для элемента управления? - PullRequest
1 голос
/ 06 апреля 2011

Вот ситуация:

Я пытаюсь управлять полосой прокрутки flowLayoutControl из элементов управления devexpress VerticalScroll.

Теперь - flowLayoutControl с autoscroll = true.Я добавил новый элемент управления вертикальной прокрутки и закрепил его справа.Так что теперь элемент управления Devexpress Vertical Scroll находится прямо над полосой прокрутки FlowLayout.

Также вертикальная прокрутка FlowLayoutPanel не скрывается при запуске следующего кода:

    spotWinFlowLayout1.VerticalScroll.Visible = false

Я установил следующие обработчики событий:

    private void spotWinFlowLayout1_Resize(object sender, EventArgs e)
    {
        SetupVerticalScrollBar();
    }        

    private void SetupVerticalScrollBar()
    {
        vScrollBar1.Minimum = spotWinFlowLayout1.VerticalScroll.Minimum;
        vScrollBar1.Maximum = spotWinFlowLayout1.VerticalScroll.Maximum;
        vScrollBar1.LargeChange = spotWinFlowLayout1.VerticalScroll.LargeChange;
        vScrollBar1.SmallChange = spotWinFlowLayout1.VerticalScroll.SmallChange;            
    }

    private void vScrollBar1_Scroll(object sender, ScrollEventArgs e)
    {
        spotWinFlowLayout1.VerticalScroll.Value = e.NewValue;
    }

Все работает нормальнокроме случаев, когда в форме Load уже есть полоса прокрутки в flowLayoutControl, свойства spotWinFlowLayout1.VerticalScroll.XXX еще не установлены .Таким образом, обе полосы прокрутки не синхронизированы.Но как только я изменяю размер формы, оба получают Sync.

Итак, когда инициализируется полоса прокрутки для FlowLayoutPanel?

1 Ответ

1 голос
/ 06 апреля 2011

Итак, когда инициализируется полоса прокрутки для FlowLayoutPanel?

Это может звучать как умный ответ: " Когда элемент управления нарисован или помещен в форму "Именно поэтому вы настраиваете размер формы, в которой они синхронизируются (они снова рисуются)

Решение состоит в том, чтобы вручную добавить полосы прокрутки.

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