我的列表框项目应该是TPanel的链接。每个列表框项目的TPanel信息都不同。
如何让所有项目在一个处理程序中点击事件?
有没有办法在进入内置的OnListBoxItem1ClickEvent之前获取所有事件?
答案 0 :(得分:4)
要为某个列表框的所有项目分配OnClick
事件的公共方法,您可以尝试使用以下(未经测试的)代码。它迭代列表框的ListItems
集合的所有项目,并为每个TListBoxItem
项目分配一个OnClick
事件方法(假设这是常见的):
type
TForm1 = class(TForm)
Button1: TButton;
ListBox1: TListBox;
...
procedure Button1Click(Sender: TObject);
private
procedure CommonItemClick(Sender: TObject);
end;
implementation
procedure TForm1.CommonItemClick(Sender: TObject);
begin
// this is the common OnClick event method
end;
procedure TForm1.Button1Click(Sender: TObject);
var
I: Integer;
begin
for I := 0 to ListBox1.Count - 1 do
ListBox1.ListItems[I].OnClick := CommonItemClick;
end;