Работа с двумя формами

C++ / CLI Windows Forms
16.07.2017

(Всего голосов: 2)

Создание формы 2.

Проект->Добавить новый элемент->Visual C++->UI->Форма Windows Forms
Меняем название на MyForm2.h и жмем "Добавить".
Теперь имеем две формы: MyForm.h и MyForm2.h.
 

Как перейти к форме 2 по нажатию кнопки на форме 1?

Для начала в коде формы 1 после #pragma once добавим #include "MyForm2.h".
Теперь в коде кнопки перехода к форме 2 напишем:
MyForm2^ frm = gcnew MyForm2();
frm->Show();               //вызов формы 2
Теперь перейдем к коду формы 2.


Как перенести записанную в textBox строку на форме 2 в textBox на форме 1?

В коде формы 2 вставим текс, как показано в примере:
public ref class MyForm2 : public System::Windows::Forms::Form
	{
	public:
                // почти в самом верху добавим эти три строчки
		String^ Str(){
			return textBox1->Text;
		}
Теперь создадим в форме 2 button1 и button2.
В свойствах кнопки button1 в разделе DialogResult поставим OK.              
А в свойствах кнопки button2 в разделе DialogResult поставим Cancel.
Код для них писать не надо! Об этом авторы позаботились.
 
Вернемся к коду формы 1.
 
В коде кнопки перехода после MyForm2^ frm = gcnew MyForm2(); напишем:
if(frm->ShowDialog()==System::Windows::Forms::DialogResult::OK){
          String^ str = frm->Str();
          textBox1->Text = str;      
}
Запускаем программу.
Надеюсь, эта статья была полезной. Удачи в программировании!


Оставить комментарий