Градиентная заливка формы.

Язык C#: программирование на C#, портирование кода C# на VB и VB на C#.

Модератор: Ramzes

Thomas
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 246
Зарегистрирован: 12.11.2005 (Сб) 0:17
Откуда: "Сказочное королевство"

Градиентная заливка формы.

Сообщение Thomas » 06.06.2006 (Вт) 22:38

Приветствую всех.

Вопрос собственно вот какой:
в событии формы Form1_Paint заливаю форму градиентом,
при изменении размера формы заливка ведет себя "не правильно", т.е. равномерность нарушается,
для избежания этого сделал событие Form1_Resize в котором прописал Refresh для формы.

Код: Выделить всё
private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
      {
         Graphics g=e.Graphics;
         Rectangle r = new Rectangle(0, 0, this.Width,this.Height);
         LinearGradientBrush myBrush=new LinearGradientBrush(r,Color.Red, Color.White,System.Drawing.Drawing2D.LinearGradientMode.Horizontal);
         g.FillRectangle(myBrush,r);
      }

      private void Form1_Resize(object sender, System.EventArgs e)
      {
         this.Refresh();
      }


Так теперь при изменении размера формы, она МЕРЦАЕТ.

Уважаемые, подскажите студенту в чем проблема и как этого избежать.

Заранее спасибо и наилучшие пожелания.

Добавлено
Тут http://bbs.vbstreets.ru/viewtopic.php?t ... dientbrush
смотрел.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 07.06.2006 (Ср) 5:52

Плохо смотрел.

Me.SetStyle(ControlStyles.ResizeRedraw, True)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас


Вернуться в C#

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10

    TopList