• 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.
    
  • 相关阅读:
    【bzoj1616】[Usaco2008 Mar]Cow Travelling游荡的奶牛 bfs
    【bzoj1614】[Usaco2007 Jan]Telephone Lines架设电话线 二分+SPFA
    【bzoj1609】[Usaco2008 Feb]Eating Together麻烦的聚餐 dp
    【codevs1404】字符串匹配 KMP
    【bzoj4196】[Noi2015]软件包管理器 树链剖分+线段树
    【codevs3160】最长公共子串 后缀数组
    【bzoj4698】[Sdoi2008] Sandy的卡片 后缀数组
    【bzoj4278】[ONTAK2015]Tasowanie 贪心+后缀数组
    【bzoj1692】[Usaco2007 Dec]队列变换 贪心+后缀数组
    【bzoj1717】[Usaco2006 Dec]Milk Patterns 产奶的模式 后缀数组+离散化
  • 原文地址:https://www.cnblogs.com/tulater/p/1264718.html
Copyright © 2020-2023  润新知