【问题标题】:If Button1.Click = true [closed]如果 Button1.Click = true [关闭]
【发布时间】:2015-04-02 06:06:49
【问题描述】:
Button1: TButton; 
Label2: TLabel;

procedure TForm5.Button1Click(Sender: TObject);
 begin 
 if Button1.Click = True then
      Label2.Caption := 'lol';

基本上我想要的是,当用户点击按钮时,Label2 会改变那里写的内容。是的,我确实有 Label2。 出现的错误是“E2008 Incompatible types”... 有谁能帮帮我吗?

【问题讨论】:

  • 你的代码怎么编译? TButton 没有任何名为 Click 的方法或属性。但是,如果您考虑过Button1.OnClick,那么这确实会返回该错误,因为Button1.OnClick 是对OnClick 事件的事件方法的引用,而不是Boolean 值。至于您如何实现所需的检查,请查看下面的@kot-da-vinci 答案。
  • @SilverWarior docwiki.embarcadero.com/Libraries/XE7/en/… ...也就是说,这个问题将来不太可能对任何人有用。任何教程……第 1 章,第 1 页。那本来可以解决这个问题的。顺便说一句,在它自己的OnClick 处理程序中调用Button1.Click 将生成一个无限循环... 0_o
  • 纠正我的错误。我快速而低效地检查了文档。

标签: delphi


【解决方案1】:

方法Click 不是函数,它没有返回值。所以你不能和True比较。 您的 Button1Click 是您的 Button1 点击事件的事件处理程序。当用户点击Button1Click 中的Button1 代码时会执行。所以你需要像这样写你的Button1Click

procedure TForm5.Button1Click(Sender: TObject);
begin 
  Label2.Caption := 'lol';
end;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-27
    • 1970-01-01
    • 2021-02-21
    • 2023-02-21
    相关资源
    最近更新 更多