Форум программистов, компьютерный форум, киберфорум
C++/CLI Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
5 / 6 / 4
Регистрация: 18.11.2009
Сообщений: 661

Учебный проект Светофор не работает

30.01.2019, 03:56. Показов 2735. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В программировании в стиле Windows Forms я - начинающий. Взял учебный проект Светофор здесь
http://blog.kislenko.net/show.php?id=1432
аккуратно скопировал ошибок компиляции и редактирования связей нет, но проект не работает.
Отладчик показывает что в функцию private: System::Void timer1_Tick захода нет, а значит и таймер не срабатывает и мигания нет. При запуске - голая серая форма. Почему?
Ниже приведено содержание кода только Form1.h
Проект сделан на MS Visual Studio 2008 Express Edition
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
private: System::Void Form1_Load(System::Object^  sender, System::EventArgs^  e) 
{//загрузка формы
 this->ClientSize = System::Drawing::Size(100, 300);
 this->DoubleBuffered = true;
 timer1 = gcnew Timer();
 timer1->Interval = 1000;
 timer1->Tick += gcnew EventHandler(this, &MyForm::timer1_Tick);
 timer1->Enabled = true;
 cnt = 0;
}
private: System::Void Form1_Paint(System::Object^  sender, System::Windows::Forms::PaintEventArgs^  e) 
{//рисование
    array <Pen ^> ^pens = gcnew array <Pen ^>(3) { Pens::Red, Pens::Yellow, Pens::Green };
 for (int i = 0; i < 3; i++)
  e->Graphics->DrawEllipse(pens[i], 0, i * 100, 100, 100); //контуры 3 кружков
 array <Brush ^> ^brushes = 
  gcnew array <Brush ^>(3) { Brushes::Red, Brushes::Yellow, Brushes::Green };
 e->Graphics->FillEllipse(brushes[cnt], 0, cnt * 100, 100, 100);} //текущий закрасить               
};
 
private: System::Void timer1_Tick(System::Object^  sender, System::EventArgs^  e) 
 {
  Invalidate();
  cnt = (cnt + 1) % 3;
 }
}
Вложения
Тип файла: rar Svetofor.rar (653.7 Кб, 7 просмотров)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
30.01.2019, 03:56
Ответы с готовыми решениями:

Учебный проект
Хочу решить небольшой учебный проект для того чтобы разобраться с одномерными массивами и который будет покрывать следующие темы: циклы,...

Учебный проект
Доброго времени суток =) Народ дайте пожалуйста ссылочку на какой-нибудь проект с подробными комментариями (что как и зачем) чтоб...

Предлагаю посмотреть учебный проект, созданный для освоения темы Сервлеты и jdbc
В интернете я не встречал нормальных примеров которые хорошо показывают работу Java сервлетов. Все что я видел - это примитивные CRUD...

5
 Аватар для RunningMan
278 / 186 / 75
Регистрация: 12.04.2017
Сообщений: 1,088
Записей в блоге: 2
30.01.2019, 07:45
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#pragma once
namespace Svetofor {
 
    using namespace System;
    using namespace System::ComponentModel;
    using namespace System::Collections;
    using namespace System::Windows::Forms;
    using namespace System::Data;
    using namespace System::Drawing;
 
 
    public ref class Form1 : public System::Windows::Forms::Form
    {
    public:
        Form1(void)
        {
            InitializeComponent();
 
        }
 
    protected:
 
        ~Form1()
        {
            if (components)
            {
                delete components;
            }
        }
 
    private:
 
        System::ComponentModel::Container ^components;
    private:  Timer ^timer1;
    private:  int cnt;
#pragma region Windows Form Designer generated code
 
              void InitializeComponent(void)
              {
                  this->SuspendLayout();
                  // 
                  // Form1
                  // 
                  this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);
                  this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
                  this->ClientSize = System::Drawing::Size(614, 261);
                  this->Name = L"Form1";
                  this->Text = L"Form1";
                  this->Load += gcnew System::EventHandler(this, &Form1::Form1_Load);
                  this->Paint += gcnew System::Windows::Forms::PaintEventHandler(this, &Form1::Form1_Paint);
                  this->ResumeLayout(false);
 
              }
#pragma endregion
    private: System::Void Form1_Load(System::Object^  sender, System::EventArgs^  e)
    {
        this->ClientSize = System::Drawing::Size(100, 300);
        this->DoubleBuffered = true;
        timer1 = gcnew Timer();
        timer1->Interval = 1000;
        timer1->Tick += gcnew EventHandler(this, &Form1::timer1_Tick);
        timer1->Enabled = true;
        cnt = 0;
    }
    private: System::Void Form1_Paint(System::Object^  sender, System::Windows::Forms::PaintEventArgs^  e)
    {
        array <Pen ^> ^pens = gcnew array <Pen ^>(3) { Pens::Red, Pens::Yellow, Pens::Green };
        for (int i = 0; i < 3; i++)
            e->Graphics->DrawEllipse(pens[i], 0, i * 100, 100, 100);
        array <Brush ^> ^brushes =
            gcnew array <Brush ^>(3) { Brushes::Red, Brushes::Yellow, Brushes::Green };
        e->Graphics->FillEllipse(brushes[cnt], 0, cnt * 100, 100, 100);
    }
 
 
    private: System::Void timer1_Tick(System::Object^  sender, System::EventArgs^  e)
    {
        Invalidate();
        cnt = (cnt + 1) % 3;
    }
    };
}
0
5 / 6 / 4
Регистрация: 18.11.2009
Сообщений: 661
30.01.2019, 11:08  [ТС]
Ну что? сверил свой код с вашим. Один к одному Запускаю - нет светофора - одна серая форма

Добавлено через 18 минут
Может в проекте не выставлена главная точка запуска? Но тогда была бы ошибка при link А у меня ошибок нет но и не работает!
0
 Аватар для RunningMan
278 / 186 / 75
Регистрация: 12.04.2017
Сообщений: 1,088
Записей в блоге: 2
30.01.2019, 12:24
Вот что исправил в вашем проекте :
Цитата Сообщение от eugrita Посмотреть сообщение
C++
1
&MyForm::timer1_Tick);
C++
1
timer1->Tick += gcnew EventHandler(this, &Form1::timer1_Tick);
Цитата Сообщение от eugrita Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
e->Graphics->FillEllipse(brushes[cnt], 0, cnt * 100, 100, 100);} //текущий закрасить * * * * * * 
};
private: System::Void timer1_Tick(System::Object^ *sender, System::EventArgs^ *e) 
{
 Invalidate();
 cnt = (cnt + 1) % 3;
}
}
C++
1
2
3
4
5
6
7
8
9
10
11
        e->Graphics->FillEllipse(brushes[cnt], 0, cnt * 100, 100, 100);
    }
 
 
    private: System::Void timer1_Tick(System::Object^  sender, System::EventArgs^  e)
    {
        Invalidate();
        cnt = (cnt + 1) % 3;
    }
    };
}
И заморгал светофор.
Скинул бы проект, но у меня VS 2017.


Цитата Сообщение от eugrita Посмотреть сообщение
Запускаю - нет светофора - одна серая форма
Может другую форму запускаете. Код файла Svetofor.cpp покажите.
0
 Аватар для RunningMan
278 / 186 / 75
Регистрация: 12.04.2017
Сообщений: 1,088
Записей в блоге: 2
30.01.2019, 12:42
И вот нашел даже VS 2008.
в архиве рабочий проект
Вложения
Тип файла: zip Svetofor.zip (2.07 Мб, 11 просмотров)
0
5 / 6 / 4
Регистрация: 18.11.2009
Сообщений: 661
31.01.2019, 11:52  [ТС]
Спасибо сравнив сам разобрался где неточности у меня были. Да срочно надо заняться программированием рисования
подтянуть тему
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
31.01.2019, 11:52
Помогаю со студенческими работами здесь

Учебный код работает локально, но не работает с github
Добрый вечер, господа! Сделал учебный минипроект &quot;Прогноз погоды по API&quot;. Локально код работает, качает с openweathermap...

Кто-нибудь может скинуть или указать ссылку на учебный проект C# через MS Access
Уважаемые форумчане кому не жалко или кто знает ссылки на проекты написанные на C# с использованием MS Access Заранее спасибо!!!) ...

По самоучителю С.И. Бобровский Dilphi7 Учебный курс не собирается первый програмный проект. Как собрать?
Должно было появится окно созданной программы. В него можно было бы ввести два числа. На скриншоте видно, что получилось.

Учебный сайт работает но
Выложил на хост все файлы, все работает, только на главной странице список всех выложенных файлов на белом фоне, на содержимое сайта можно...

Светофор: прямоугольник и три окружности. При нажатии нужной клавиши светофор должен загораться нужным светом
Ребят, подскажите пожалуйста, что не так в программе. Условие: Нарисуйте светофор: прямоугольник и три окружности. При нажатии нужной...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru