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


Автор: VasRip 27.1.2007, 23:40
Как сделать чтобы при вводе числа в textBox линия меняла свои параметры 

     protected override void OnPaint(PaintEventArgs e)
        {
            Visita = 200;
            Hirina = 200;
  
         //вершняя полоска
         e.Graphics.FillRectangle(new SolidBrush(Color.Black), 100,30, Hirina, 5);
         base.OnPaint(e);
          
         //левая боковая
         e.Graphics.FillRectangle(new SolidBrush(Color.Black), 30, 30, 5, Visita);
         base.OnPaint(e);
        }

        private void button1_Click(object sender, EventArgs e)
        {

            Visita = Convert.ToInt32(textBox1.Text);
            Hirina = Convert.ToInt32(textBox2.Text);
 
        }

Чето я не понимаю где не прав.
Спасибо.

Автор: mr.DUDA 28.1.2007, 00:21
Да вроде не хватает Refresh() в конце button1_Click smile

P.S. пользуйтесь кнопкой "Код" плз, оформляет и подсвечивает исходник - так приятнее читать.

Автор: Naum 29.1.2007, 11:42
Цитата(VasRip @  28.1.2007,  00:40 Найти цитируемый пост)
protected override void OnPaint(PaintEventArgs e)

И еще, я бы рекомендовал все таки пользовать protected override void OnPaintBackground(PaintEventArgs e). Побыстрее будет.

Автор: -ser- 29.1.2007, 12:35
еще бы не мешало убрать 

            Visita = 200;
            Hirina = 200;

из OnPaint(PaintEventArgs e)

Автор: Naum 29.1.2007, 14:13
Цитата(-ser- @  29.1.2007,  13:35 Найти цитируемый пост)
еще бы не мешало убрать 

            Visita = 200;
            Hirina = 200;

из OnPaint(PaintEventArgs e) 

И скорее всего их надо будет добавить в обработчик события формы Load.

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