学习型 ASP/PHP/ASP.NET 主机 30元/年全能 ASP/PHP/ASP.NET 主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付
发新话题
打印

dbgrid双击事件 为什么要双击2次才能打开窗口?

dbgrid双击事件 为什么要双击2次才能打开窗口?

procedure Tylb.DBGrid1DblClick(Sender: TObject);
begin //dbgrid双击事件是ondblclick
if adoquery1.Eof then exit;
if Not assigned(wcl) then
begin
Application.CreateForm(Twcl,wcl);
end
else
begin
wcl.show;
end;
wcl.label1.caption:=adoquery1.FieldValues['kh_tsfs'];
wcl.label2.caption:=adoquery1.FieldValues['kh_tsdw'];
wcl.label6.caption:=adoquery1.FieldValues['kh_tsyy'];
end;

TOP

第一次是建立,第二次才显示,当然要两次才能显示出来。

if adoquery1.Eof then exit;
if Not assigned(wcl) then
begin
Application.CreateForm(Twcl,wcl);
wcl.show;
end;
我会拿出我全部的钱财,以保你衣食无忧。我会献出我所有的智慧,以助你一帆风顺。我会想到所有的笑语,以令你展眉开颜。我会挤出最长的时间,以使你终生幸福。        [本人原创的结婚宣言]

TOP

if Not assigned(wcl) then
begin
Application.CreateForm(Twcl,wcl);
wcl.show;
end
else
begin
wcl.Show;
end;

谢谢 xu2000
这个是打开这个窗口后 如果不关闭的情况下 再双击改事件就打开已经运行的窗口 呵呵 表达的不好 嘿嘿
可以拉

TOP

楼主这么粗心啊!哈哈
为什么要加上else begin end;

直接没申明窗体类情况下则创建。
wcl.show是必须执行的。

还有我想既然是dbgriddbclick事件,
一般情况下弹出子窗体或者showmodal窗体比较好!
纯属个人意见,

使用全局对象构建窗体用在这里不是太好!
大家都是朋友,有空就来坐坐!

TOP

帮不上忙,I'SORRY.....

TOP

发新话题