关于动态生成Form的一个问题

donwmufromdying donwmufromdying 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
具体代码如下:
Form1:包含控件Button1,程序自动生成并显示
Form2:程序过程中由Form1的button1的click事件触发后动态生成的。
Form2包含一个button2,click event是关闭Form2

现在遇到一个Form2的关闭问题
代码如下:
TForm1::OnButton1Click()
{
if (Form2!=NULL)
{
Form2=new TForm2(this);
//Form2->Visible=true; 第二种方式
//Form2->Show(); 第二种方式
Form2->ShowModal();
Form2=NULL;
}
}
Form1的其他代码部分 //Form2->Close(); 第二种方式


Form2里面的代码:
TForm2::OnButton2Click()
{
//Form2->Close(); 这样调用出错 --方法1
//Close(); //这样就正确 --方法2
//this->Close(); //正确 --方法3
//TCustomForm::Close(); //正确 --方法4
}

我发现一个有趣的现象,当我使用Close关闭Form2时候,用Form2->Close()竟然是错误的
这里的this指针应该就是Form2阿!检查发现这里的Close实际调用的是父类TCustomForm的
函数。我想问的是,这里为什么不能使用Form2->Close();来关闭Form2?
还是如上例子,当我如代码使用第二种方式在Form1里Form2->show,也在Form1里Form2->Close()
就完全没问题!
...全文

相关推荐

SpringBoot 驱动:考务报名平台的架构搭建与服务效能优化

考务报名平台在技术构建层面彰显出卓越的前瞻性与成熟性。依托先进且稳固的 SSM 框架,为整个平台搭建起坚实可靠的技术架构基石,确保系统运行流畅稳定,能够从容应对高并发的考务业务场景;凭借跨平台特性卓越、广泛应用于大型商业网站开发的 Java 语言,赋予平台丰富灵活的功能逻辑与强大的扩展性,使其能够在不同操作系统环境中无缝适配,满足多样化的用户使用需求;选用备受业界推崇、在关系型数据库管理领域占据重要地位的 Mysql 数据库,为海量考务数据提供安全高效的存储与管理解决方案,犹如为数据构建起一座坚不可摧的信息宝库,保障数据的完整性与可用性。 关键词:考务报名平台;SSM 框架;Mysql;自动化

哎呦没

基于SpringBoot的网上通用报名系统.docx

基于SpringBoot的网上通用报名系统.docx基于SpringBoot的网上通用报名系统.docx基于SpringBoot的网上通用报名系统.docx基于SpringBoot的网上通用报名系统.docx基于SpringBoot的网上通用报名系统.docx基于SpringBoot的网上通用报名系统.docx基于SpringBoot的网上通用报名系统.docx基于SpringBoot的网上通用报名系统.docx基于SpringBoot的网上通用报名系统.docx

「已注销」

springboot136人口老龄化社区服务与管理平台.zip

springboot136人口老龄化社区服务与管理平台

达达KZT

基于springboot驾校报名微信小程序源码数据库文档.zip

基于springboot驾校报名微信小程序源码数据库文档.zip

知一NN

springboot某计算机等级考试报名系统(vue)源码数据库演示.zip

这里只做演示,都是获得老师高度认可的设计,有完整数据库,源码和文档,简单配置一下就可以用

向前齐步走
评论 11
收藏 已收藏
分享
返回顶部
donwmufromdying
C++ Builder 13,871 成员 102,696 内容