从2种不同形式打开表单C ++

时间:2015-09-24 09:14:56

标签: forms c++-cli

我有3种形式:

  • 的MainForm
  • ManualForm
  • AutomaticForm

我有一个按钮MainForm-> ManualForm:

private: System::Void btnPowerOn_Click(System::Object^  sender, System::EventArgs^  e) 
{
    ManualForm^ form = gcnew ManualForm();
    form->ShowDialog();
}

我还有一个AutomaticForm按钮 - > ManualForm:

private: System::Void btnManual_Click(System::Object^  sender, System::EventArgs^  e) 
{
    this->Close();

    ManualForm^ manForm = gcnew ManualForm();
    manForm->ShowDialog();
}

但是当我添加第二个按钮时,它说: 语法错误:标识符'ManualForm'。 (在AutomaticForm.h中)

在MainForm和AutomaticForm中,我都有#include“ManualForm.h”。

那么如何让我的按钮完成工作呢? (在表格之间切换)

1 个答案:

答案 0 :(得分:-1)

好吧,相互包容似乎是一个问题。 我通过不关闭彼此并保持上一个Form打开来解决它。

因此,对于每个按钮,我只需执行以下操作:

private: System::Void btn_Automatic_Click(System::Object^  sender, System::EventArgs^  e) 
{
    //this->Close(); removed this line so I don't have to reopen it again
    AutomaticForm^ aForm = gcnew AutomaticForm();
    aForm->ShowDialog();
}

当我想回到manualForm时,我只是这样做:

private: System::Void btn_Manual_Click(System::Object^  sender, System::EventArgs^  e)
{
    this->Close();
}