我在Visual c ++中使用winForm来构建我的程序。从第一个窗口我需要在按钮单击时移动到另一个窗口。为此我使用下面的代码,它工作正常。
private: System::Void button3_Click(Object^ sender, EventArgs^ e) {
this->Hide();
Form2^ pp = gcnew Form2();
pp->ShowDialog();
}
但是我需要在子窗口上使用“后退”按钮,单击该按钮将隐藏/禁用它并显示父窗口。我怎样才能做到这一点?
答案 0 :(得分:1)
首先,如果你想做一些导航类型的东西,你的父母对孩子的代码也不能正常工作。
现在我建议你从父母到孩子创建一个全局变量。 喜欢,
Form2^ pp ;
在构造函数中初始化它或创建父类的方法
像,
//Create method or constructor,
pp = gcnew Form2();
进行导航 像,
private: System::Void button3_Click(System::Object^ sender, System::EventArgs^ e)
{
this->Hide();
pp->ShowDialog();
}
在这种情况下,无论您点击button3多少次,只会显示和隐藏一个子类实例。
没有问题是你想从子窗口返回父窗口窗体。您可以使用 this.Parent as Form
来实现此目的像,
private: System::Void button3_Click(System::Object^ sender, System::EventArgs^ e)
{
this->Hide();
Form parentForm = (this.Parent as Form);
parentForm ->Show();
}