TArr = record
Panel: TPanel;
Button:TButton;
end;var
Arr:array of TArr;点击数组其中一个ButtonClick事件,设置对应位置的Panel
我这样做的
var
i,iH:integer;iH:=length(Arr);
for i:=0 to iH do
if Arr[i].Button=TButton(Sender) then
begin
Arr[i].Panel.Color:=clRed;
break;
end有没有不循环查找直接设置对应位置的Panel?
Panel: TPanel;
Button:TButton;
end;var
Arr:array of TArr;点击数组其中一个ButtonClick事件,设置对应位置的Panel
我这样做的
var
i,iH:integer;iH:=length(Arr);
for i:=0 to iH do
if Arr[i].Button=TButton(Sender) then
begin
Arr[i].Panel.Color:=clRed;
break;
end有没有不循环查找直接设置对应位置的Panel?
就可以這樣用:
TPanel(Button.Parent).Color:=clRed;
如果沒有就用最笨的方法吧.
使兩者的tag一樣.
end;
Arr[i].panel.tag:=i
if Arr[i].button.tag=Arr[i].panel.tag then
Arr[i].panel.color:=clred;