Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.03.2014, 15:14   #1
Qaliti
Форумчанин
 
Регистрация: 04.01.2010
Сообщений: 229
По умолчанию Выполнение кода ПОСЛЕ запуска программы

Как в C# в формах выполнить некоторый код связанный с обработкой объектов формы? Мне нужно просто после запуска построить график в PictureBox. Если по клику куда-то то выполняется все без проблем, если поместить в Form1_Load то нефига не выполняется, что может логично, эта же функция наверное выполняется до запуска и объект ещё не установлен.. Как сделать после запуска? Такой вот нубский вопрос..
Есть конечно идея - поставить таймер в сама начале на какие-нибудь миллисекунды и выполнить код, но так извращаться не хочется..
Qaliti вне форума Ответить с цитированием
Старый 16.03.2014, 15:17   #2
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
По умолчанию

Цитата:
если поместить в Form1_Load то нефига не выполняется
Load отрабатывает в момент создания формы. В этот момент визуальные компоненты ещё не инициализированы
Используйте событие Shown.
Streletz вне форума Ответить с цитированием
Старый 16.03.2014, 15:39   #3
Qaliti
Форумчанин
 
Регистрация: 04.01.2010
Сообщений: 229
По умолчанию

Код:
 private void Form1_Shown(object sender, EventArgs e)
        {
            Graphics gr = graf.CreateGraphics();
            gr.FillRectangle(Brushes.White, 0, 0, 600, 300); // очистка графика
        }
не работает
Qaliti вне форума Ответить с цитированием
Старый 16.03.2014, 15:46   #4
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

рисуют в обработчиках рисования, старты тут не причем
eval вне форума Ответить с цитированием
Старый 16.03.2014, 15:47   #5
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
По умолчанию

Цитата:
Сообщение от Qaliti Посмотреть сообщение
Код:
 private void Form1_Shown(object sender, EventArgs e)
        {
            Graphics gr = graf.CreateGraphics();
            gr.FillRectangle(Brushes.White, 0, 0, 600, 300); // очистка графика
        }
не работает
Вот, что бывает когда сразу не полностью раскрывают тему. Что же Вы сразу не сказали, что используете Grafics. Для Grafics существует событие Paint.
Кстати, зачем очищать PictureBox заливкой через Grafics, да ещё в событиях формы? Для этого есть Canvas.
Streletz вне форума Ответить с цитированием
Старый 16.03.2014, 15:52   #6
Qaliti
Форумчанин
 
Регистрация: 04.01.2010
Сообщений: 229
По умолчанию

Код:
private void graf_Paint(object sender, EventArgs e)
        {
            Graphics gr = graf.CreateGraphics();
            gr.FillRectangle(Brushes.Black, 300, 15, 1, 270); // ось у
            gr.FillRectangle(Brushes.Black, 0, 150, 600, 1); // ось х
        }
ясно, но и это не работает..
Qaliti вне форума Ответить с цитированием
Старый 16.03.2014, 15:59   #7
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
По умолчанию

Цитата:
Сообщение от Qaliti Посмотреть сообщение
Код:
private void graf_Paint(object sender, EventArgs e)
        {
            Graphics gr = graf.CreateGraphics();
            gr.FillRectangle(Brushes.Black, 300, 15, 1, 270); // ось у
            gr.FillRectangle(Brushes.Black, 0, 150, 600, 1); // ось х
        }
ясно, но и это не работает..
Grafics вообще штука капризная. Попробуйте использовать Canvas для PictureBox.
Streletz вне форума Ответить с цитированием
Старый 16.03.2014, 16:06   #8
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

что тут graf?
eval вне форума Ответить с цитированием
Старый 16.03.2014, 16:40   #9
Qaliti
Форумчанин
 
Регистрация: 04.01.2010
Сообщений: 229
По умолчанию

имя PictureBox
Qaliti вне форума Ответить с цитированием
Старый 16.03.2014, 17:07   #10
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

у вас процедура обработчика странная вы ее как сделали?
eval вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Стереть параметры запуска после запуска Anton911 Общие вопросы Delphi 18 14.04.2013 15:17
после запуска программы компьютер сам перезагрузился и началось... NickolayNest Безопасность, Шифрование 1 02.07.2012 14:34
Дочерняя форма открывается сразу после запуска программы Юсуп Компоненты Delphi 8 14.06.2012 20:40
выполнение js кода при завершении программы на delphi xamel87 Общие вопросы Delphi 1 08.05.2011 18:45
Удаление кнопки после первого запуска программы keet Помощь студентам 5 09.01.2010 23:35