社区
C++ Builder
帖子详情
如何能关闭窗体
gfh_79_0
2006-03-20 11:15:46
有FORM1和FORM2 两个窗体,FORM1为主窗体,FORM2的类型为fsStayOnTop
FORM1有定时器,执行关闭FORM2的代码。
当FORM1最小化后,若干秒后定时器执行了关闭FORM2的代码。
FORM1恢复后发现FORM2并不被关闭,且标题栏上的关闭按钮也失效。
那位能够帮助解决,为什么会这样呢?
...全文
256
12
打赏
收藏
如何能关闭窗体
有FORM1和FORM2 两个窗体,FORM1为主窗体,FORM2的类型为fsStayOnTop FORM1有定时器,执行关闭FORM2的代码。 当FORM1最小化后,若干秒后定时器执行了关闭FORM2的代码。 FORM1恢复后发现FORM2并不被关闭,且标题栏上的关闭按钮也失效。 那位能够帮助解决,为什么会这样呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
CityHost
2006-03-21
打赏
举报
回复
大家说的这么清楚了,我就不讲了
gfh_79_0
2006-03-21
打赏
举报
回复
谢各位。
NEW的这种方法我知道,但我的程序都做完了改起来有些麻烦。
为什么不用HIDE呢?
我想知道,
为什么Hide()就不可以?
如果FORM2不是fsNormal就没问题。
lurel
2006-03-21
打赏
举报
回复
不用搞那么复杂,只要把Form2声明成Form1的一个成员,然后在Create的时候创建,以后就随便控制,怎么玩都行了.
Jim@luckeeinc.com
2006-03-21
打赏
举报
回复
一般不要用Hide();
如果以后再用,那就再new一个出来好了,只要不忘记释放就行了。
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
if(Application->FindComponent("Form2") == NULL)
{
TForm2 *f = new TForm2(Application);
f->Show();
}
else
Form2->Show();
Timer1->Enabled = true;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
if(Application->FindComponent("Form2") != NULL)
{
Form2->Close();
Timer1->Enabled = false;
}
}
//---------------------------------------------------------------------------
gfh_79_0
2006-03-21
打赏
举报
回复
是可以的。
不过我以后还想用这个FORM,
所以我想用Form2->Hide();
但这样就又存在我说的情况了。
还有为什么会有这种情况?
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
Form2->Hide();
Timer1->Enabled=false;
}
zyyoung
2006-03-21
打赏
举报
回复
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
if(Application->FindComponent("Form2"))
Form2->Close();
}
//---------------------------------------------------------------------------
另外在Form 2 中的onclose里记得写Action = caFree;
/////////////////////////////////////////////////////
使用楼上的这个人写的代码,测试一下.
应该可以
BenLeak
2006-03-21
打赏
举报
回复
不理解楼主的意思和代码结构
Jim@luckeeinc.com
2006-03-20
打赏
举报
回复
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
if(Application->FindComponent("Form2"))
Form2->Close();
}
//---------------------------------------------------------------------------
另外在Form 2 中的onclose里记得写Action = caFree;
gfh_79_0
2006-03-20
打赏
举报
回复
to:lurel(城市陌生人)
form2是show出来的
代码如下:
FORM2无,Form2->FormStyle为fsNormal编译前设置
FORM1:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#include "Unit2.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
Form2->Close();
Timer1->Enabled=false;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::BitBtn1Click(TObject *Sender)
{
Form2->Show();
Timer1->Enabled=true;
}
constantine
2006-03-20
打赏
举报
回复
你做类似msn对话框那样的东西?
把定时器放到form2看看
还有贴出你的代码。
lurel
2006-03-20
打赏
举报
回复
form2是showModale出来的吗?
yz20050510
2006-03-20
打赏
举报
回复
关注中!
WinForm
关闭
子
窗体
时刷新父
窗体
的数据
WinForm
关闭
子
窗体
时刷新父
窗体
的数据WinForm
关闭
子
窗体
时刷新父
窗体
的数据
c#利用委托来实现
关闭
子窗口通知父窗口执行方法
c#利用委托来实现
关闭
子窗口通知父窗口执行 c#利用委托实现
关闭
子窗口通知父窗口 c#利用委托
关闭
子窗口通知父窗口 c#利用委托来实现
关闭
子窗口通知父窗口执行 c#利用委托实现
关闭
子窗口通知父窗口 c#利用委托
关闭
子...
Python Tkinter
窗体
讲解
Python作为自立门户的语言,除了学习它的基础编程之外,它还提供了
窗体
的学习,这样相对来说,它就完整了,如果大家学习过C#
窗体
实现或者Java,MFC等等吧,再学习它就会简单的多。当然大家也不用担心,即使没学过,...
自动
关闭
窗口程序 能
关闭
指定标题的窗口
自动
关闭
指定文字的
窗体
能配置
关闭
窗口的标题 能配置时间间隔
C#源码,禁止
关闭
窗口,禁用
窗体
上的关
C#源码,禁止
关闭
窗口,禁用
窗体
上的关
C++ Builder
13,825
社区成员
102,679
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章