Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Полоса прокрутки при рисовании в контейнере


Автор: Rays 25.10.2012, 17:22
Доброго времени суток.
В общем проблема возникла - не появляется полоса прокрутки в контейнере. В программе происходят вычисления, после чего по результатам строятся графики в полях tabPage элемента TabControl. Рисую по событию paint. Размеры графика должны превышать размеры контейнера. Видимая часть входит - и все. Если свойство AutoScrollminSize выставлять больше размеров контейнера, то полоса прокрутки появляется, но один при прокрутке ползут артефакты. Пытался возвращать картинку bitmap'ом - тоже самое. Так как же все-таки замутить полосу прокрутки?)
На всякий случай, куски кода:

Как только данные для рисования готовы - перерисовываем tabPage
Код

        private void DrawGr()
        {
            DrawRes = true;

            tabPage1.Invalidate();
            tabPage2.Invalidate();  
            tabPage3.Invalidate();
            tabPage4.Invalidate();
        }


Событие paint:
Код

        private void tabPage1_Paint(object sender, PaintEventArgs e)
        {
            if (DrawRes)
            {
                drawChangeTempF = new DrawChangeTempF(alg, tabPage1.ClientSize, e);
                drawChangeTempF.DrawImg();
            }
        }


Метод DrawImg(), в котором все мутим:
Код

public void DrawImg()
        {
            e.Graphics.Clear(Color.White);
            // здесь рисуем-рисуем
         }



Автор: Rays 25.10.2012, 21:14
Или, может быть, кто-нить набросает примерчик с графикой? не много - только как рисунок отобразить в контейнере с отображением полос прокрутки. Не картинку, загруженную с диска, а нарисованное в самой программе. У меня уже моск вскипает))

Автор: diadiavova 25.10.2012, 23:10
Да всё просто: рисуешь в одном контроле, а вкачествеиконтейнепа используешь другой, нв и соответственно управлять придётся размерами внутреннего контрола.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)