Форум программистов, компьютерный форум, киберфорум
C++/CLI Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.92/121: Рейтинг темы: голосов - 121, средняя оценка - 4.92
 Аватар для DiegoGonzalez
0 / 0 / 0
Регистрация: 09.04.2009
Сообщений: 22

Вызов формы из другой формы

04.01.2010, 09:54. Показов 23800. Ответов 20
Метки нет (Все метки)

Что то не клеится....вроде не раз уже делал подобное, все стандартно
C++
1
2
3
 DrawForm^ Form;
 Form=gcnew DrawForm;
 Form->Show();
на это он выдает 8 ошибок типа

Ошибка 1 error C2065: DrawForm: необъявленный идентификатор c:\documents and settings\admin\рабочий стол\fract\fract\Form1.h 330 Fract
Ошибка 2 error C2275: System::Windows::Forms::Form: недопустимое использование этого типа в качестве выражения c:\documents and settings\admin\рабочий стол\fract\fract\Form1.h 330 Fract
Ошибка 3 error C2513: System::Windows::Forms::Form: нет переменных, объявленных перед '=' c:\documents and settings\admin\рабочий стол\fract\fract\Form1.h 331 Fract
Ошибка 4 error C2061: синтаксическая ошибка: идентификатор "DrawForm" c:\documents and settings\admin\рабочий стол\fract\fract\Form1.h 331 Fract
Ошибка 5 error C2065: DrawForm: необъявленный идентификатор c:\documents and settings\admin\рабочий стол\fract\fract\Form1.h 330 Fract
Ошибка 6 error C2275: System::Windows::Forms::Form: недопустимое использование этого типа в качестве выражения c:\documents and settings\admin\рабочий стол\fract\fract\Form1.h 330 Fract
Ошибка 7 error C2513: System::Windows::Forms::Form: нет переменных, объявленных перед '=' c:\documents and settings\admin\рабочий стол\fract\fract\Form1.h 331 Fract
Ошибка 8 error C2061: синтаксическая ошибка: идентификатор "DrawForm" c:\documents and settings\admin\рабочий стол\fract\fract\Form1.h 331 Fract

Может я что то забыл....? Помогите пожалуйста...
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.01.2010, 09:54
Ответы с готовыми решениями:

Вызов формы из другой
Нужно из одной формы проекта вызвать другую и блокировать первую, затем, по закрытию второй, разблокировать первую. Из первой вторую я...

Вызов метода из другой формы
Доброго времени суток! Волею судеб пришлось осваивать VC++ 2008. Столкнулся с такой проблемой: Есть класс Form1 В нем объявлен...

VS 2008. Как можно обратиться из формы к control члену другой формы?
Я пытался так: Form1.cpp System::Void Form1::button1_Click(System::Object^ sender, System::EventArgs^ e) { Form2 ^f2; ...

20
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
09.11.2016, 00:28
Цитата Сообщение от spy686 Посмотреть сообщение
Необходимо было выполнить действия на Form1 при закрытии Form2 (например разблокировать Form1 ).
Это частная задача и из неё никак не следует что:
Цитата Сообщение от spy686 Посмотреть сообщение
надо Добавить обработчик события на этой же Form1
тем более:
Цитата Сообщение от spy686 Посмотреть сообщение
Это можно было бы сделать проще и красивее в файле cpp который бы объединял две Формы
каждая форма это даже не класс, это шаблон. А такая связь нежелательна даже для классов. Ведь в одном проекте Вам нужны будут одни сочетания, а в другом - другие. Событие нужно объявить в том классе для которого оно вызывается. А если в этом событие требуется доступ к другому классу, - окну, например, то это можно сделать по ссылке на экземпляр, тогда меняя ссылку и её тип можно связывать событие с любой формой. Более того. Я бы написал класс в котором есть подобное событие и оставил такой же (исходный) класс без него. На разные случаи жизни. Тогда это разные классы. Но глядя в их код и комментарии, легко понять, что и зачем они делают. А вот написать событий для одного класса в определении другого/других, это сделать всю систему непонятной уже через пару месяцев. Потом будет не ясно где искать и что менять. Хотя в принципе всё можно найти, но лучше так не делать.
Цитата Сообщение от spy686 Посмотреть сообщение
В программировании не спец, но что накопал, тем и пользуюсь.
Я тоже. Связь классов в C++/cli оказывается вопрос не тривиальный. В С# эти ухищрения не нужны, а в натуральном С++ такие приёмы используются лишь в очень больших и сложных проектах. Во всяком случае, частенько, достаточно тёртые ребята не сразу въезжают.
А я без какого либо опыта ковырял этот вопрос... не скажу сколько времени. Во-первых, не поверите, а во-вторых - не помню.
Ну да ладно. Рад был пообщаться, spy686, но надеюсь, что если у Вас будут вопросы, Вы создадите новую тему. Потому-как для темы в более 8 килопросмотров, такие диалоги просто ни к чему. Ведь это будут читать люди которым нужно получить информацию по вопросу топика.
Всего хорошего.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.11.2016, 00:28

Как передать в метод формы данные из другой формы?
Народ, подскажите юзеру: создал на Visual C++ 2005 с помощью designer'а Form1 с единственной кнопкой на ней. Вызываю по нажатию этой...

Вызвать из одной формы метод другой формы
У меня такая проблема. Есть 2 формы: Form1 и Link. Я пишу в Form1: #include "Link.h" public ref class Form1 : public...

Вызов 2ой формы
Создаю проект в visual studio на c++ с WinForms При добавлении формы возникает ошибка , которую можно решить, добавив код #include...

Вызов формы из класса
Необходимо написать класс, который вызывается по кнопке и создает вторую форму. Создал кнопку вызывающую класс Myform.h #include...

Вызов из одной формы другую.
Всем привет не подскажите как вызвать из Form1 Form2, точнее из Form1 получается вызывать Form2, а когда прописываешь , чтобы из Form2...


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

Или воспользуйтесь поиском по форуму:
21
Ответ Создать тему
Новые блоги и статьи
[golang] Конкурентный fetcher с ограничением максимального количества одновременных HTTP запросов.
alhaos 10.06.2026
Задача Реализовать конкурентный fetcher с ограничением максимального количества одновременных HTTP запросов. Сигнатура func Fetch(urls string, maxConcurrent int) Result Пример urls :=. . .
[golang] Состояние гонки (race condition)
alhaos 10.06.2026
Состояние гонки (race condition) Состояние гонки (Race Condition) — это ошибка, возникающая при одновременном доступе нескольких горутин к одним и тем же данным без должной синхронизации. При этом. . .
Взрослые отношения, и почему они не получаются
kumehtar 09.06.2026
Когда в детстве ребёнок не получает от родителей чего-то важного, он лишается не просто приятных переживаний, а основы для формирования определённых внутренних качеств и навыков. Если ребёнок не. . .
[golang] Worker Pool
alhaos 09.06.2026
Worker Pool Worker Pool — паттерн конкурентной обработки задач в Go. Суть: фиксированное количество горутин-воркеров читают задачи из общего канала и пишут результаты в общий канал результатов. . . .
[golang] Pipeline
alhaos 08.06.2026
Pipeline Pipeline — паттерн конкурентной обработки данных в Go. Суть: данные проходят через цепочку независимых стадий, каждая из которых работает в своей горутине и общается с соседями через. . .
Свет внутри себя
kumehtar 07.06.2026
Пусть это будет здесь lIs4oanZS9Y
Программа для com-порта
Uhbif79 05.06.2026
Всем привет, давно хотел изучить Qt, начинал, бросал, потом снова начинал. И сейчас вот смог написать свою первую программу. До этого имел опыт программирования микроконтроллеров, писал прошивки на. . .
Транскрипция 55-минутного видео через Whisper: WhisperDesktop облажался, спас Google Colab[
anaschu 01.06.2026
Понадобилось получить текст из свежезагруженного видео на YouTube. Казалось бы, задача на пять минут. Заняла полтора часа. Делюсь опытом — может кому пригодится последовательность решений. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru