社区
Delphi
帖子详情
子窗体控件事件与父窗体控件事件的问题
icemanpro
2009-12-17 02:27:22
现有Form1为父窗体,上有Tbutton1,其TButton1的onclick事件中,有个showmessage('1')。还有个Form2是继承于From1的。当运行时,点击Form2上的TButton1的话,并没有执行showmessage('1');
但如果Form2上的tButton1添加了onclick事件,就算不写任何代码的话,运行时,会执行父窗体中的button1的onclick事件。
这是怎么回事?
...全文
166
5
打赏
收藏
子窗体控件事件与父窗体控件事件的问题
现有Form1为父窗体,上有Tbutton1,其TButton1的onclick事件中,有个showmessage('1')。还有个Form2是继承于From1的。当运行时,点击Form2上的TButton1的话,并没有执行showmessage('1'); 但如果Form2上的tButton1添加了onclick事件,就算不写任何代码的话,运行时,会执行父窗体中的button1的onclick事件。 这是怎么回事?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yukileo
2009-12-17
打赏
举报
回复
inherited
先执行父类的过程.再执行自己的过程
例子:
B是继承A而来
而A里面有个过程hello
procedure A.hello;
begin
showmessage('hello');
end;
当你重写B里面的hello过程时
procedure B.hello;
begin
inherited //如果有这句..那么就会先弹出hello,再弹出world;
showmessage('world');
//inherited //如果放在这里..那么就先弹出world,hello;
//如果没有inherited ..那么直接弹出world
end;
idecl
2009-12-17
打赏
举报
回复
如果form2继承了form1,不需要增加onclick事件也会运行showmeesage('1')的
如果增加了onclick事件,一定会有一句inherited;,不会不会运行showmeesage('1')
bdmh
2009-12-17
打赏
举报
回复
如果第二个窗体中的button是继承自主窗体的话,默认就会执行父类窗体的button过程,除非你在子窗体的该button事件中写了代码,并且去掉了inherited这句
idecl
2009-12-17
打赏
举报
回复
不增加onclick事件也会呀,你是怎么创建第2个窗体的?
wintergoes
2009-12-17
打赏
举报
回复
Form2上tButton1的OnClick事件并没有赋值,当然不会响应了
就给我们要在Button上双击一下,产生OnClick的事件后
才会在占击的时候响应里面的代码
这个时候Button.OnClick := ButtonCLick;
这个是事件,必须赋值后才能被触发,而不是普通的函数
C#把MDI
子
窗体
变为标签页面(不改写任何
控件
)
利用TabControl实现MDI
子
窗体
标签式显示。
c#
控件
大小(及字体)随窗口大小改变自动缩放
c#语言
控件
大小以及字体随窗口大小以及字体随窗口改变而自动缩放
C#
控件
一览表.pdf
C#
控件
一览表.pdf CSharp
控件
一览表.pdf
c#
控件
介绍(太详细了)
c#
控件
介绍(太详细了),非常好的一个软件,
tabcontrol动态生成选项卡,并添加
窗体
c# tabcontrol动态生成选项卡,并添加
窗体
Delphi
5,939
社区成员
262,944
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章