Форум программистов, компьютерный форум, киберфорум
C++/CLI Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.84/25: Рейтинг темы: голосов - 25, средняя оценка - 4.84
320 / 280 / 109
Регистрация: 27.09.2010
Сообщений: 1,058

Ошибка компиляции простой формы с кнопкой выхода

02.09.2011, 00:42. Показов 4849. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем. Решил сделать простой проект. На форму пометил кнопку, два раза щёлкнул по ней, открыл конструктор. Прописал такой код:
C++
1
2
3
4
5
6
7
8
9
10
private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
                 //Application->Exit() //первый метод выхода
                this->close();//второй метод
                 
                
 
             }
//public:                                                //третий метод (списанный с help сайта мелкософта
                //  void Close()
    };
Мне нужно, что бы программа, точнее эта кнопка завершала работу программы, и всё. У меня стоит Visual Studio 2010.
Выдаёт такую ошибку при компиляции для второго случая:
Code
1
2
3
4
5
6
Для всех выходных данных обновления не требуется.
  Project Form.cpp
c:\documents and settings\admin\мои документы\visual studio 2010\projects\project form\project form\Form1.h(84): error C2039: close: не является членом "ProjectForm::Form1"
          c:\documents and settings\admin\мои документы\visual studio 2010\projects\project form\project form\Form1.h(15): см. объявление "ProjectForm::Form1"
 
СБОЙ построения.
Подскажите, что можно сделать? Зарание спасибо.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.09.2011, 00:42
Ответы с готовыми решениями:

Ошибка в компиляции простой игры
Пишу код для игры, при компиляции выдает вот такую ошибку "error CS1061: Type `Item' does not contain a definition for `bonusPerSec' and...

Ошибка компиляции простой программы
Здравствуйте, читатели данной темы.Решил изучить C++ Win32 API.Но вот на сайте хотел скопировать код и глянуть как все работает, но не тут...

Модули и метод простой итерации - ошибка при компиляции
Здравствуйте. В программе по теме модульного программирования выходит ошибка при компиляции второго модуля "error3: unknown...

5
 Аватар для solar_wind
770 / 760 / 59
Регистрация: 06.07.2009
Сообщений: 3,021
02.09.2011, 06:06
Попробуй PostQuitMessage(0);
0
320 / 280 / 109
Регистрация: 27.09.2010
Сообщений: 1,058
02.09.2011, 10:39  [ТС]
Пишет индетефикатор не найден. Я заметил одну странную вещь. Конструктор меня выпихивает на Form1.h . Я читал, что .h файл только для глобальных переменных предназначен, но ни какне для команд. Возможно нужно писать в ProjectForm.cpp
0
Эксперт JavaЭксперт С++
 Аватар для M128K145
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
02.09.2011, 11:10
titans2011, эта строчка
C++
1
Application::Exit();
завершает работу приложения.

А вот эта строчка
C++
1
this->Close();
закрывает только форму, на которой была выполнена.
Обратите внимание, что Close пишется с большой буквы, как и все методы в C++.NET и C#.

C++ и CLR - это немного разные С++, поэтому весь код формы пишется в *.h
1
320 / 280 / 109
Регистрация: 27.09.2010
Сообщений: 1,058
02.09.2011, 11:44  [ТС]
Ура. Заработало!
Можно , я ещё один вопросик маленький задам. А то я только осваиваю данный материал, и как в данной ситуации выкрутиться не знаю.
Значит когда я создаю форму, конструктор меня посылает на Form1.h. Я там могу писать всякие обработчики кода, событий. Теперь, я бы хотел состыковать две детали. Когда я учил C++ в консоли, то создавал файл .cpp , сейчас в GUI это похоже на ProjectFile. Так вот. Также в консоле я пробовал создавать многофайловую программу, что бы осуществлялась сборка и т.д.
Где мне сейчас (в GUI) писать код, если я например, хочу создать класс, функцию и т.д. В Form1.h, ProjectFile.cpp или создавать также как и в многофайловой системе другие .cpp?
0
Эксперт JavaЭксперт С++
 Аватар для M128K145
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
02.09.2011, 12:47
titans2011, можете как и раньше - создавать привычные x.cpp+x.h, можете писать в этом же хедере, только в пределах нейспейса. Если хотите использовать CLR, то лучше пишите все в стиле C# - два(*.h, *.cpp) или один файл(*.h), используйте ref class, а не class + managed классы/указатели и библиотеки из .NET, а не старые привычные *stream, STL и прочее
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.09.2011, 12:47
Помогаю со студенческими работами здесь

Замена кнопки входа кнопкой выхода
Доброго времени суток. Такой вопрос возник, каким образом можно после входа в админку сделать так, чтобы на месте кнопки был написан логин...

Прозрачность формы, при наведении мыши на кнопку реализовать изменение её положения относительно формы с невозможностью выхода за границы формы
доброй ночи, уважаемые программисты, студенты,а также любители программировать. помогите, пожалуйста, написать программу на языке С++ ...

Ошибка компиляции при открытии формы из кнопки
Создал форму на редакторе. Вставил создание второй формы при нажатии кнопки, пишет ошибку:Ошибка 1 error C2143: синтаксическая ошибка:...

Ошибка компиляции при изменении запускаемой формы
В целях отладки проекта изменил запускаемую форму: static void Main() { Application.EnableVisualStyles(); ...

Не понимаю, как кнопкой из формы 1 сохранить текст из формы 2
Создаю базовый текстовый редактор, с простейшими функциями с интерфейсом MDI. Форма 1 является родительской, сейчас все методы описаны для...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru