none
Как нарисовать линию на панели с помощью bitmap1? RRS feed

  • Вопрос

  • Следующий код рисует на форме this, но мне нужно чтобы рисовало на panel1 и ещё рисунок сразу не появляется, только после того если программа выйдет за границы экрана.

            public Form1()
            {
                InitializeComponent();
                bitmap1 = new Bitmap(panel1.Width, panel1.Height);
            }
    
            Graphics G;
            Pen P;
            Bitmap bitmap1;
    
            private void button1_Click(object sender, EventArgs e)
            {
                G = Graphics.FromImage(bitmap1);
                P = new Pen(Color.Black, 3);
                G.DrawLine(P, 10, 10, 50, 50);
    
                panel1.Invalidate();
            }
    
            private void Form1_Paint(object sender, PaintEventArgs e)
            {
                e.Graphics.DrawImageUnscaled(bitmap1, 0, 0);
            }
    17 августа 2012 г. 14:11

Ответы

  • А Вы поставьте перерисовку изображения не по событию формы, а по событию панельки.
    Вдруг сработает.
    • Изменено INFEL8 17 августа 2012 г. 14:44
    • Помечено в качестве ответа Ziya Ceferov 18 августа 2012 г. 12:31
    17 августа 2012 г. 14:43

Все ответы

  • А Вы поставьте перерисовку изображения не по событию формы, а по событию панельки.
    Вдруг сработает.
    • Изменено INFEL8 17 августа 2012 г. 14:44
    • Помечено в качестве ответа Ziya Ceferov 18 августа 2012 г. 12:31
    17 августа 2012 г. 14:43
  • А Вы поставьте перерисовку изображения не по событию формы, а по событию панельки.
    Вдруг сработает.
    Как поставить?
    18 августа 2012 г. 8:59
  • Ну поставили же соответствие событию перерисовки метод Form1_Paint.
    Так же и для панельки сделайте. Думаю от формы можно отсоединить событие вообще.
    Должно бы сработать.

    Свойства/события/Paint
    18 августа 2012 г. 10:57