说我们有像
这样的东西Private Sub ClickObject(ByVal sender As System.Object, ByVal e as System.Eventargs)
Handles Object1.click, Object2.click, Object3.click
将“处理”后的事件发送到函数中。
在Delphi中是否有相同的功能,我该怎么做?
答案 0 :(得分:4)
在表单中添加TActionList
。添加TAction
并处理其OnExecute
事件,就像处理其他控件的OnClick
事件一样。分配控件的Action
属性以引用您添加到操作列表的操作。 (这也会导致控件从关联的操作中获取其标题和启用的以及可见属性。这意味着当菜单和工具栏按钮表示相同的命令时,它们更容易让菜单和工具栏按钮具有统一的状态。)
答案 1 :(得分:3)
是
您可以创建一个事件处理程序并将其分配给多个控件。
procedure TForm1.ThreeControlsClick(Sender: TObject);
begin
if Sender = Button1 then
HandleButton1Click
else if Sender = ComboBox1 then
HandleComboBox1Click
else if Sender = Edit1 then
HandleEdit1Click;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Button1.OnClick := ThreeControlClick;
ComboBox1.OnClick := ThreeControlClick;
Edit1.OnClick := ThreeControlClick;
end;