Delphi 中关于Button的OnClick的思考

Delphi 中关于Button的OnClick的思考 Unit Unit1; Interface Uses   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,   Dialogs, StdCtrls, ExtCtrls; Type   TForm1 = Class(TForm)     Panel1: TPanel;     Button1: TButton;     Procedure Button1Click(Sender: TObject);     Procedure Panel1Click(Sender: TObject);   Private     { Private declarations }   Public     { Public declarations }   End; Var   Form1             : TForm1; Implementation {$R *.dfm} Procedure TForm1.Button1Click(Sender: TObject); Begin   ShowMessage('Button1Click'); End; Procedure TForm1.Panel1Click(Sender: TObject); Begin //如果TForm1内有 Button1: TButton;,那么下面两方式都是对 button1的onclick调用,   Form1.Button1Click(form1); //是直接调用TForm1的Button1Click过程,跟button1对象是否存在没有关系, //如果在窗体设计面版中删除button1对象,仍能运行   Form1.Button1.Click; //是直接调用Button1对象的Click过程,跟button1对象有直接关系, //如果在窗体设计面版中删除button1对象,此方法也不存在 //如果我们把一个其他能产生click控件产生一个其click过程时, //该过程以其控件名[button1+click+(Sender: TObject)相应的参数]自动生成方法名, //如果在窗体设计面版中删除该对象,对象声名删除Button1: TButton;, //但其产生的方法(如click,mousedown等等),并没有被相应删除, //如果我们再新建一个同名但不类的控件时, //只要在Object Inspector里的Events属性卡双击相应的过程,仍会关联上原来的过程, //虽然这两者没有必然的联系. End; End. 

你可能感兴趣的:(onclick)