第二次和第三次点击按钮后我想做点什么等等。如何知道点击了多少次按钮?
回答
声明表单级变量,并在每次单击该按钮时递增它。
type
TForm1 = class(TForm)
// component/control variables
private
FClickCount: Integer;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
FClickCount := FClickCount + 1; // or Inc(FClickCount);
end;
我知道你已经接受了答案,但是,FWIW,这是我该怎么做的。
如果按钮点击次数并不需要的OnClick()处理器之外使用,你可以保持计数器本地的处理程序,通过使用已定义的常是这样的:
procedure TForm1.Button1.click(Sender: TObject);
{$J+}
const
counter: integer = 0;
{$J-}
begin
inc(counter);
if (counter < 2) then exit;
end;
注:
1){$ J +}允许赋值给键入的常量。
2)像这样的类型常量的使用已被弃用多年(尽管它们对于像这样的东西很有用 - 保持声明和使用“变量”彼此靠近对我来说是件好事书和使用表单级别变量这似乎是错误的,因为它破坏封装)。
呃。可写常量是丑陋的。当你写'const'时,它应该表示* const *,而不是*使用被声明为常量的值作为变量而不是*。可写常量与goto属于同一个类别。 *弃用多年*意味着*不告诉人们他们可以使用它们*,尤其是*不会教新开发人员使用不推荐的方式开始使用*。 –
美丽(丑陋)在旁观者的眼中。我认为在这种情况下的表单变量是丑陋的。为此使用标签属性可能是一个很好的折衷方案,但在另一评论中被称为“滥用”。我的优先顺序是使用类型化常量,然后使用标签属性,然后使用表单变量。随着封装的想法高举。 –
不可以。*不论用户看到它,被弃用的功能*被添加到新代码中都是丑陋的。这相当于告诉某人使用BDE和Paradox启动一个新的数据库应用程序。如果你坚持可笑的不必要的范围缩减,比你更好的解决方案是将按钮点击事件移到单元末尾,并在程序上方声明一个全局计数器;它也缩小了范围,因为它只是从它的声明开始才可见,它允许初始化,并且不会通过*写入常量*来混淆代码。 –
- 1. 如何知道按钮被点击了多少次?
- 2. 了解多少次按钮被点击
- 3. 我如何知道点击了多少次?
- 4. 如何知道单击了UISwitch按钮
- 5. qt如何知道按钮被点击?
- 6. 如何知道何时点击了UIKeyboard加入按钮?
- 7. 按钮点击多次点击一次
- 8. 计数一个按钮被点击了多少次
- 9. 如何知道在vb.net中点击了哪个命令按钮?
- 10. 如何知道哪个活动点击了按钮?
- 11. 如何知道winform c#中点击了哪个按钮?
- 12. 如何知道我在烧瓶中点击了哪个按钮?
- 13. 如何知道点击了哪个按钮?
- 14. 如何知道我点击了哪个表单按钮类
- 15. 如何知道点击了哪个按钮?
- 16. 如何知道点击了哪个按钮
- 17. 如何知道谁点击了Google +1按钮?
- 18. 使事件的多个按钮,并知道被点击了哪个按钮
- 19. 引导按钮,如何多次点击
- 20. 如何知道点击或不点击的按钮
- 21. jQuery单击按钮多少次?
- 22. 如何知道用户对SoundCloud上传了多少次上传?
- 23. 软件如何知道它安装了多少次?
- 24. Android - 如何知道(编程)电话铃响了多少次?
- 25. 我如何知道Waypoint一次切换了多少个实例?
- 26. 知道在Android中点击了哪个按钮
- 27. 知道谁点击了Facebook的“赞”按钮,在您的网站
- 28. 知道是否点击了Facebook喜欢按钮
- 29. 知道点击了checkedtextiew时
- 30. 如何知道我的帖子使用节点js查看了多少次?
您是否尝试过在表单上声明属性? –
no idk如何,我试过'Button2.Tag:= StrToInt(Label1.Text);'但无用@ IgnacioVazquez-Abrams – ColdZer0
如果您必须滥用'Tag'属性来跟踪点击次数'Button2.Tag:= Button2.Tag + 1'会做的伎俩。 – Johan