Отображение формы из другой формы. Помогите.
Книжек нет нифига нет.
Вопрос такой.
Как отобразить форму (модально или немодально)
из другой формы, допустим при нажатии на кнопку.
Делаю так.
Создаю две формы Form1, Form2
На Form1 рисую кнопку. В обработчике события OnClick пишу:
Form * Form2 = new Form();
Form2->ShowDialog(this);
Выдает сообщение об ошибке:
error C3699: '*' : cannot use this indirection on type 'System::Windows::Forms::Form'
error C2750: 'System::Windows::Forms::Form' : cannot use 'new' on the reference type; use 'gcnew' instead
error C2440: 'initializing' : cannot convert from 'System::Windows::Forms::Form *' to 'System::Windows::Forms::Form ^'
Что делать-то!!!?
Цитата:
Originally posted by H5N1
Новичок. Совсем-совсем. Осваиваю С++ и одновременно Visual C++ 2005 Exp. Edition.
Книжек нет нифига нет.
Вопрос такой.
Как отобразить форму (модально или немодально)
из другой формы, допустим при нажатии на кнопку.
Делаю так.
Создаю две формы Form1, Form2
На Form1 рисую кнопку. В обработчике события OnClick пишу:
Form * Form2 = new Form();
Form2->ShowDialog(this);
Выдает сообщение об ошибке:
error C3699: '*' : cannot use this indirection on type 'System::Windows::Forms::Form'
error C2750: 'System::Windows::Forms::Form' : cannot use 'new' on the reference type; use 'gcnew' instead
error C2440: 'initializing' : cannot convert from 'System::Windows::Forms::Form *' to 'System::Windows::Forms::Form ^'
Что делать-то!!!?
Новичок. Совсем-совсем. Осваиваю С++ и одновременно Visual C++ 2005 Exp. Edition.
Книжек нет нифига нет.
Вопрос такой.
Как отобразить форму (модально или немодально)
из другой формы, допустим при нажатии на кнопку.
Делаю так.
Создаю две формы Form1, Form2
На Form1 рисую кнопку. В обработчике события OnClick пишу:
Form * Form2 = new Form();
Form2->ShowDialog(this);
Выдает сообщение об ошибке:
error C3699: '*' : cannot use this indirection on type 'System::Windows::Forms::Form'
error C2750: 'System::Windows::Forms::Form' : cannot use 'new' on the reference type; use 'gcnew' instead
error C2440: 'initializing' : cannot convert from 'System::Windows::Forms::Form *' to 'System::Windows::Forms::Form ^'
Что делать-то!!!?
Может так ?
Код:
Form^ Form2 = gcnew Form();
Form2->ShowDialog();
Form2->ShowDialog();
Цитата:
Originally posted by H5N1
Создаю две формы Form1, Form2
На Form1 рисую кнопку. В обработчике события OnClick пишу:
Form * Form2 = new Form();
Form2->ShowDialog(this);
Выдает сообщение об ошибке:
error C3699: '*' : cannot use this indirection on type 'System::Windows::Forms::Form'
error C2750: 'System::Windows::Forms::Form' : cannot use 'new' on the reference type; use 'gcnew' instead
error C2440: 'initializing' : cannot convert from 'System::Windows::Forms::Form *' to 'System::Windows::Forms::Form ^'
Что делать-то!!!?
Создаю две формы Form1, Form2
На Form1 рисую кнопку. В обработчике события OnClick пишу:
Form * Form2 = new Form();
Form2->ShowDialog(this);
Выдает сообщение об ошибке:
error C3699: '*' : cannot use this indirection on type 'System::Windows::Forms::Form'
error C2750: 'System::Windows::Forms::Form' : cannot use 'new' on the reference type; use 'gcnew' instead
error C2440: 'initializing' : cannot convert from 'System::Windows::Forms::Form *' to 'System::Windows::Forms::Form ^'
Что делать-то!!!?
Ошибка в следующем - если ты создал две формы, Form1 и Form2 в дизайнере, то для того, что бы программно вызвать вторую форму из первой необходимо писать следующее:
Form2* frm2 = new Form2();
frm2->ShowDialog(this);
Дело в том, что когда ты в дизайнере создал форму Form2, ты создал КЛАСС Form2, и для того, чтобы программно показать форму, сначала нужно создать экземпляр этого класса.