知识大全 自定义事件实现不同窗体间的通讯Delphi篇

Posted 事件

篇首语:成功无须解释,失败却有许多托辞。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 自定义事件实现不同窗体间的通讯Delphi篇相关的知识,希望对你有一定的参考价值。

自定义事件实现不同窗体间的通讯Delphi篇  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

要实现子窗体与父窗体之间的通讯 有多种方法(比如 重载子窗体的构造函数 将父窗体的引用作为参数传递给子窗体) 下面我要介绍的是利用自定义事件的方法 它能够最大程度的避免模块之间的耦合 充分体现面向对象的优点   先将效果图展示给大家    >  下面是实现代码     Unit //子窗体    type  //声明自定义事件的类型(类似于C#中的委托)  TMyEventHandle = procedure (Sender: TObject; Content: string) of object;    TForm = class(TForm)  ComboBox : TComboBox;  Label : TLabel;  procedure ComboBox Click(Sender: TObject);  private  FOnSelectionChanged: TMyEventHandle;  public  //声明自定义事件  property OnSelectionChanged: TMyEventHandle  read FOnSelectionChanged write FOnSelectionChanged;  end;    procedure TForm ComboBox Click(Sender: TObject);  begin  //当选择改变时 触发自定义的事件  if Assigned(FOnSelectionChanged) then  FOnSelectionChanged(Self ComboBox Text);  end;    Unit //父窗体    type  TForm = class(TForm)  btnOpenForm : TButton;  Edit : TEdit;  Label : TLabel;  procedure btnOpenForm Click(Sender: TObject);  private  m_frm : TForm ;    procedure frm _SelectionChanged(Sender: TObject; Content: string);  public  constructor Create(AOwner: TComponent); override;  destructor Destroy; override;  end;    constructor TForm Create(AOwner: TComponent);  begin  inherited Create(AOwner);    m_frm := TForm Create(Self);    //指定当m_frm 的自定义事件发生时的处理程序  m_frm OnSelectionChanged := frm _SelectionChanged;  end;    destructor TForm Destroy;  begin  m_frm Free;    inherited Destroy;  end;    procedure TForm frm _SelectionChanged(Sender: TObject; Content: string);  begin  Edit Text := Content;  end;    procedure TForm btnOpenForm Click(Sender: TObject);  begin  m_frm ShowModal;  end; cha138/Article/program/Delphi/201311/24690

相关参考

知识大全 利用窗体的自定义属性实现窗体传值

  第步在解决方案上添加一个窗体Form;并添加textBoxtextBoxButton将Button的标题设为确定DialogResult属性设为OK  第步在窗体Form的类代

知识大全 C#中使用Setting保存用户自定义窗体位置

C#中使用Setting保存用户自定义窗体位置  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!方法&

知识大全 c# 实现自定义属性改变触发自定义事件

  代码内含说明(界面是两个文本框textboxtextbox和一个button界面的Load事件button的click事件)usingSystem;usingSystemCollectionsGe

知识大全 AS3与JS之间的简单自定义参数通讯

AS3与JS之间的简单自定义参数通讯  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一直没去深入

知识大全 Delphi自定义部件开发(一)[3]

DELPHI基础教程:Delphi自定义部件开发(一)[3]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看

知识大全 Delphi自定义部件开发(一)[2]

DELPHI基础教程:Delphi自定义部件开发(一)[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看

知识大全 Delphi自定义部件开发(一)[1]

DELPHI基础教程:Delphi自定义部件开发(一)[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看

知识大全 Delphi自定义部件开发(二)[4]

DELPHI基础教程:Delphi自定义部件开发(二)[4]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看

知识大全 Delphi自定义部件开发(二)[3]

DELPHI基础教程:Delphi自定义部件开发(二)[3]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看

知识大全 Delphi自定义部件开发(二)[2]

DELPHI基础教程:Delphi自定义部件开发(二)[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看