我有一个Form1和Form2的程序。如何从form1单击按钮打开form2?
答案 0 :(得分:5)
对于Delphi:
确保Delphi在Project.dpr中创建了Form2
的实例:Application.CreateForm(TForm2, Form2);
然后将Form2
单位名称添加到uses
单元中的Form1
个子句之一,然后您可以使用Form2.Show;
或Form2.ShowModal;
。
对于C ++:
确保C ++ Builder在Project.cpp中创建了Form2
的实例:Application->CreateForm(__classid(TForm2), &Form2);
然后将#include
单元的.hpp文件的Form2
语句添加到Form1
单元的.cpp文件中,然后您可以使用Form2->Show();
或{{1} }。
答案 1 :(得分:5)
再多一点信息
在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中你需要创建teh表单然后才能使用它,这与之前的版本略有不同
Form = new TForm2( this );
Form->ShowModal();
但是现在如果你想访问表单来说明更新标题,你可以简单地进行
Form->Caption = "Changed Caption";
表单上的标题现在将被更改