我有一个带有 Form1 和 Form2 的程序。如何从 form1 单击按钮打开 form2?
2 回答
再多一点信息
在你的 Project.cpp 中有这个: Application->CreateForm(__classid(TForm2), &Form2); 表示将在您启动应用程序时创建表单。
如果您想在单击按钮时创建自己的表单,请执行以下操作
TForm2 *Form = new TForm2( this );
Form->ShowModal();
例如,如果您需要使用自定义构造函数,您还可以创建一个新表单,传入您需要的任何值。例如
TForm2 *Form = new TForm2( this, "My New Form" , Now() );
Form->ShowModal();
除了设置表单的所有者之外,上述方法还传入一个字符串和一个 TDateTime,然后您可以在表单构造函数中使用它们来做一些事情。
请记住,如果您自己创建这些表格,您将需要删除它们。
要允许其他按钮或控件也可以访问您的表单,您需要执行以下操作
在标题的私有部分添加以下内容
TForm2 *Form;
现在回到 cpp,您需要先创建表单,然后才能使用它,这与之前的略有不同
Form = new TForm2( this );
Form->ShowModal();
但是现在如果你想访问表格来更新标题,你可以简单地做
Form->Caption = "Changed Caption";
表格上的标题现在将被更改
博兰什么?德尔福?C++ 生成器?
对于Delphi:确保DelphiForm2
在Project.dpr中创建了一个实例:Application.CreateForm(TForm2, Form2);
然后将Form2
单元名称添加到单元中的一个uses
子句中Form1
,然后可以使用Form2.Show;
或Form2.ShowModal;
。
对于 C++:确保 C++ BuilderForm2
在 Project.cpp 中创建了一个实例:Application->CreateForm(__classid(TForm2), &Form2);
然后在该单元的 .cpp 文件中添加一个#include
用于该单元的 .hpp 文件的语句,然后您可以使用或。Form2
Form1
Form2->Show();
Form2->ShowModal();