知识大全 自定义事件实现不同窗体间的通讯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保存用户自定义窗体位置 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!方法&
代码内含说明(界面是两个文本框textboxtextbox和一个button界面的Load事件button的click事件)usingSystem;usingSystemCollectionsGe
AS3与JS之间的简单自定义参数通讯 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 一直没去深入
DELPHI基础教程:Delphi自定义部件开发(一)[3] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看
DELPHI基础教程:Delphi自定义部件开发(一)[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看
DELPHI基础教程:Delphi自定义部件开发(一)[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看
DELPHI基础教程:Delphi自定义部件开发(二)[4] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看
DELPHI基础教程:Delphi自定义部件开发(二)[3] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看
DELPHI基础教程:Delphi自定义部件开发(二)[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看