如何关闭一个 C++ VCL 表单并通过单击按钮打开另一个表单?

问题描述 投票:0回答:1

我无法通过单击按钮关闭

Form1
和打开
Form3

我已经尝试过这段代码:

#include "Welcome.h"
#include "Login.h"

void __fastcall TForm1::LoginButtonClick(TObject *Sender)
{
    TForm1 *CurrentForm = new TForm1(this);
    CurrentForm->Close();
    TForm3 *NewForm = new TForm3(this);
    NewForm->Show();
}

这是代码中不起作用的部分:

TForm1 *CurrentForm = new TForm1(this);
CurrentForm->Close();

我可以更改什么以使

Form1
在单击按钮时关闭?

c++ c++builder vcl rad-studio
1个回答
0
投票

摆脱

CurrentForm
。您正在创建一个全新的表单,只是为了立即关闭它。您需要在
Close()
对象上调用
this

void __fastcall TForm1::LoginButtonClick(TObject *Sender)
{
    Close(); // this->Close();
    TForm3 *NewForm = new TForm3(this);
    NewForm->Show();
}

请注意,

TForm1
通常是
MainForm
的默认名称,如果您
Close()
MainForm
,那么您的应用程序将退出。如果您需要在不退出应用程序的情况下“关闭”
MainForm
,您可以改为
Hide()
MainForm

© www.soinside.com 2019 - 2024. All rights reserved.