读书人

formshow与 formcreate解决方案

发布时间: 2012-03-28 15:40:03 作者: rapoo

formshow与 formcreate
哪位大侠讲下formshow与 formcreate之间的区别哈。
详细点为好,为了这个浪费了好多时间

[解决办法]

Delphi(Pascal) code
var  a: tform;begin  a := tform.Create(nil); //formcreate  a.show; //formshow;  a.hide;  a.show; //formshow;  a.free;end;
[解决办法]
触发条件不同

create是分配内存,formshow是展现,

顺序是create-show

即使没有show 仍可操作对象

但是没有create那么久不可以show了
[解决办法]
formCreate取于OldCreateOrder性定:
若true,在造函里面;
若False,在AfterConstructor里面行

formshow取于Visible性的定:
SetVisible——>送件消息Perform(CM_VISIBLECHANGED)——>wincontrol.UpdateControlState——>若是Form UpdateShowing——>送件消息Perform(CM_SHOWINGCHANGED)——>行消息理函CMShowingChanged——>行DoShow——最Onshow
[解决办法]
探讨

触发条件不同

create是分配内存,formshow是展现,

顺序是create-show

即使没有show 仍可操作对象

但是没有create那么久不可以show了

[解决办法]
探讨

formCreate取于OldCreateOrder性定:
若true,在造函里面;
若False,在AfterConstructor里面行

formshow取于Visible性的定:
SetVisible——>送件消息Perform(CM_VISIBLECHANGED)——>wincontrol.UpdateControlState——>……

读书人网 >.NET

热点推荐