Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > .NET > Общие вопросы .NET
Регистрация

Восстановить пароль
Повторная активизация e-mail


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 15 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 03.05.2010, 17:08   #1
Dimarik
Участник клуба
 
Аватар для Dimarik
 
Регистрация: 18.04.2009
Сообщений: 688
Репутация: 13
По умолчанию GDI+

Код:
private void pictureBox1_Paint(object sender, PaintEventArgs e)
        {
            
            GraphicsPath path0 = new GraphicsPath(new Point[]
                {
                    new Point((int)(10 * data[0, 0]), (int) ( 10 * data[0, 1])),
                    new Point((int)(10 * data[1, 0]), (int) ( 10 * data[1, 1])),
                    new Point((int)(10 * data[2, 0]), (int) ( 10 * data[2, 1])),
                    new Point((int)(10 * data[3, 0]), (int) ( 10 * data[3, 1])),
                    new Point((int)(10 * data[4, 0]), (int) ( 10 * data[4, 1])),
                    new Point((int)(10 * data[5, 0]), (int) ( 10 * data[5, 1])),
                },
                new byte[]
                {
                    (byte)PathPointType.Start,
                    (byte)PathPointType.Line,
                    (byte)PathPointType.Line,
                    (byte)PathPointType.Line,
                    (byte)PathPointType.Line,
                    (byte)PathPointType.Line
                });
            Pen Pen0 = new Pen(Color.Black, 5);
            e.Graphics.DrawPath(Pen0, path0);
        }
на последней строчке выскакивает ошибка во время выполнения программы
Object reference not set to an instance of an object.
эта функция была вызвана из функции нажатия кнопки : pictureBox1_Paint(this, null);
Dimarik вне форума   Ответить с цитированием
Старый 03.05.2010, 17:44   #2
akasex
ФорумчанинФорумчанин
 
Аватар для akasex
 
Регистрация: 31.03.2008
Адрес: Cleveland, OH
Сообщений: 179
Репутация: 64
По умолчанию

Код:
pictureBox1_Paint(this, null); 
....
private void pictureBox1_Paint(object sender, PaintEventArgs e)
        {
            .....
            e.Graphics.DrawPath(Pen0, path0);
        }
akasex вне форума   Ответить с цитированием
Старый 03.05.2010, 18:26   #3
Dimarik
Участник клуба
 
Аватар для Dimarik
 
Регистрация: 18.04.2009
Сообщений: 688
Репутация: 13
По умолчанию

1. попробовал так:
PaintEventArgs t;
pictureBox1_Paint(this, t);
как провести инициализацию?
2. попробовал без вызова функции из функции нажатия кнопки.
по идее, по крайней мере как в литературе по winApi написано, прорисовка окна происходит при малейших изменениях в окне. например, при перемещении окна. но в данном случае этого не происходит. я и сворачивал и разворачивал окошко, а событив pictureBox1_Paint не работает=( может это потому что это событие привязано в pictureBox1, а не к Form1?
Dimarik вне форума   Ответить с цитированием
Старый 03.05.2010, 18:33   #4
akasex
ФорумчанинФорумчанин
 
Аватар для akasex
 
Регистрация: 31.03.2008
Адрес: Cleveland, OH
Сообщений: 179
Репутация: 64
По умолчанию

функции нажатия кнопки : pictureBox1.Invalidate();
akasex вне форума   Ответить с цитированием
Старый 03.05.2010, 20:54   #5
Dimarik
Участник клуба
 
Аватар для Dimarik
 
Регистрация: 18.04.2009
Сообщений: 688
Репутация: 13
По умолчанию

заработало. это событие делает перепрорисовку?
спасибо
Dimarik вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
буфер в GDI+? juan666777 Мультимедиа в Delphi 7 09.03.2013 15:01
GDI+ в Delphi BOBAH13 Мультимедиа в Delphi 2 04.10.2008 13:45
GDI EdNovice Win Api 4 12.02.2008 10:14
GDI plus API delphi_coder Win Api 1 28.09.2007 12:41


23:07.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru