【高分求教】关于新建隐藏窗体会闪的问题

mathsfan 2010-05-22 10:25:49
问题是这样的,我在一个主窗体内打开另一个窗体B(仅仅是为了取B里面的某些控件name),但B并不需要显示出来,所以我create(nil)之后就Hide,但是这个B窗体会闪一下再隐藏掉,不知大家有什么高招让B不闪就隐藏???
...全文
105 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
nanchangfantasy 2010-05-24
  • 打赏
  • 举报
回复
没见过这现象,能否说清楚点你的操作代码
aluyue 2010-05-24
  • 打赏
  • 举报
回复
LZ 还没搞定?
试了下 按照LZ说的设置父子窗体确实是闪

那你Form2需要显示的时候再动态设置它的窗体类型为 fsMDIChild
或者
不需要显示时动态设置为 fsNormal
这样应该可以吧?
iqyely 2010-05-24
  • 打赏
  • 举报
回复
关注下。
mathsfan 2010-05-24
  • 打赏
  • 举报
回复
顶一下...
mathsfan 2010-05-22
  • 打赏
  • 举报
回复
还有我要补充一下的是我说B窗体FormStyle是为fsMDIChild的...
mathsfan 2010-05-22
  • 打赏
  • 举报
回复
反复试了下,你先把Form1的FormStyle设为fsMDIForm,Form2的FormStyle设为fsMDIChild,然后运行一下,再把两个窗体的FormStyle设为fsNormal,再运行看看?
aluyue 2010-05-22
  • 打赏
  • 举报
回复

随便写了个,我感觉不到闪啊,(偶眼神有问题—_—?)

procedure TForm1.Button1Click(Sender: TObject);
begin
if Form2 = nil then
begin
Form2 := TForm2.Create(nil);
Button1.Caption := Form2.Button1.Caption;
Form2.Free;
form2 := nil;
end
else
ShowMessage('Form Exists!');
end;
mathsfan 2010-05-22
  • 打赏
  • 举报
回复
LS的你自己试下就知道不行了,只要你create了就会闪,继续等...
aluyue 2010-05-22
  • 打赏
  • 举报
回复
(仅仅是为了取B里面的某些控件name)
那就只Create, 不show不久可以了啊

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧