超郁闷,N多同样控件触发同样的事件,响应代码也一样,该怎么办呢
超郁闷,N多同样控件触发同样的事件,响应代码也一样,该如何办呢?
窗体里有N多个同样控件触发同样的事件,响应代码也一样,该如何办呢?
比如:有100个RadioButton,其要触发的事件都是OnClick,代码也基本一样,有什么好办法很简练的进行控制和书写代码呢,否则要重复100次啊...............
求大侠帮助!
------解决方案--------------------
在属性编辑器将它们onclick事件都指向一个过程!
------解决方案--------------------
在窗体设计器上,Shift 多选这些按钮,并指向一个 OnClick;
如果想在 OnClick 事件中判断出是哪个按钮触发的事件,可以使用 if Sender = Button1 then ... 这种方式
------解决方案--------------------
根据Sender参数判断
------解决方案--------------------
//在属性编辑器分别将它们的tag值设置为1~100(假如有100个)、事件都关联到下面的过程:
procedure TForm1.RadioButtonClick(Sender: TObject);
begin
//相同的代码...
//不同部分的代码:
case TRadioButton(Sender).Tag of
1:
begin
end;
2:
begin
end;
//......
100:
begin
end;
end;
//相同的代码...
end;
------解决方案--------------------
定义一个procedure 如果需要用到参数就定义function 所有用到这个方法的都调用就好了
------解决方案--------------------
事件响应函数是一个,但是触发执行时,会自动传入到底哪个控件(sender)被操作了
窗体里有N多个同样控件触发同样的事件,响应代码也一样,该如何办呢?
比如:有100个RadioButton,其要触发的事件都是OnClick,代码也基本一样,有什么好办法很简练的进行控制和书写代码呢,否则要重复100次啊...............
求大侠帮助!
------解决方案--------------------
在属性编辑器将它们onclick事件都指向一个过程!
------解决方案--------------------
在窗体设计器上,Shift 多选这些按钮,并指向一个 OnClick;
如果想在 OnClick 事件中判断出是哪个按钮触发的事件,可以使用 if Sender = Button1 then ... 这种方式
------解决方案--------------------
根据Sender参数判断
------解决方案--------------------
//在属性编辑器分别将它们的tag值设置为1~100(假如有100个)、事件都关联到下面的过程:
procedure TForm1.RadioButtonClick(Sender: TObject);
begin
//相同的代码...
//不同部分的代码:
case TRadioButton(Sender).Tag of
1:
begin
end;
2:
begin
end;
//......
100:
begin
end;
end;
//相同的代码...
end;
------解决方案--------------------
定义一个procedure 如果需要用到参数就定义function 所有用到这个方法的都调用就好了
------解决方案--------------------
事件响应函数是一个,但是触发执行时,会自动传入到底哪个控件(sender)被操作了