Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Рисование в pictureBox

60K
14 мая 2010 года
fixbag
2 / / 14.05.2010
Здравствуйте.
Имеется событие:

private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
кое-что я тут нарисовал
}

Как, допустим, при нажатии на кнопку кое-что дорисовать в PictureBox ?

И каким образом можно всё с PictureBox стереть?
297
15 мая 2010 года
koodeer
1.2K / / 02.05.2009
Вариантов множество.
Например, могу предложить использовать битмап.
(На форме пикчабокс и три батона).

Код:
Bitmap bitmap;
public Form1()
{
    InitializeComponent();
    bitmap = new Bitmap(pictureBox1.Width, pictureBox1.Height);
}

private void button1_Click(object sender, EventArgs e)
{
    // Рисуем прямоугольник
    Graphics gr = Graphics.FromImage(bitmap);
    gr.DrawRectangle(Pens.Red, 10, 10, 50, 50);
    pictureBox1.Image = bitmap;
}

private void button2_Click(object sender, EventArgs e)
{
    // Рисуем эллипс
    Graphics gr = Graphics.FromImage(bitmap);
    gr.FillEllipse(Brushes.Green, 70, 0, 30, 60);
    pictureBox1.Image = bitmap;
}

private void button3_Click(object sender, EventArgs e)
{
    // Очищаем
    bitmap = new Bitmap(pictureBox1.Width,pictureBox1.Height);
    pictureBox1.Image = null;
}


В данном случае обработчик события Paint не нужен.
60K
15 мая 2010 года
fixbag
2 / / 14.05.2010
Спасибо большое.
Аноним
Я бы ещё при перерисовке и очистке прибавил в конце вызов Invalidate()
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог