【问题标题】:VC++ Windows form Switch Back to Parent WindowVC++ Windows 窗体切换回父窗口
【发布时间】:2016-04-25 00:04:22
【问题描述】:

我无法返回上一个窗口,MyForm.h 的代码

private: System::Void nBSMeritCalculatorToolStripMenuItem_Click(System::Object^  sender, System::EventArgs^  e) {
    this->Hide();
    MyForm1 ^ form = gcnew MyForm1;
    form->ShowDialog();
}

我包括MyForm1.h

现在,当我对切换回的 MyForm1.h 菜单项执行相同操作时,我收到一个编译器错误,提示 MyForm1 未声明(在 MyForm.h 中)

MyForm1.h(包含MyForm.h后)的代码是,

this->Hide();
    MyForm ^ form = gcnew MyForm;
    form->ShowDialog();

【问题讨论】:

  • 创建 new 表单不会将您切换回父窗口。
  • 我明白了,反正这样说,我想回到MyForm,通过隐藏或关闭MyForm1。
  • 快来回答吧,有人!
  • .h 文件之间存在循环依赖关系。 MyForm.h 包括 MyForm1.h,而 MyForm1.h 包括 MyForm.h。那是行不通的。您必须使用不完整的类型和将代码移动到 #include 声明的 .cpp 文件中进行 C++ 舞蹈。

标签: .net visual-studio visual-c++ c++-cli


【解决方案1】:

Hans Passant 说的是完全正确的,所以我所做的就是在关闭第二个表单后将原始窗口显示回来,所以它起作用了。(我不需要包含 MyForm1.h(第二个表单)) .

【讨论】:

    猜你喜欢
    • 2020-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-31
    相关资源
    最近更新 更多