在Delphi中使标签可见/不可见

时间:2010-03-27 18:52:37

标签: delphi label delphi-7 visibility visible

我想要一个按钮来更改标签,使其在可见和单击时不可见。我尝试了以下代码,但它不起作用:

Var:
  Hidden : Boolean;
Begin
  If Hidden = True
    Then 
      Begin
        Label6.Visible := True;
        Hidden := False;
      End;
  If Hidden = False
    Then
      Begin
        Label6.Visible := False;
        Hidden := True;
      End;

它编译,但不起作用!

3 个答案:

答案 0 :(得分:3)

这样做:

 Label6.Visible := not Label6.Visible;

这就是你需要的所有代码。

此外,如果您要在代码中处理标签,请给它一个正确的识别名称(如lblCountOfMatches或其他东西)。

最后,你的代码无效的原因是Hidden永远不会被设置。声明时默认为false。如果你想使用你现在拥有的代码(这个代码太冗长),你必须发出:

 Hidden := Label6.Visible

在检查隐藏之前。

答案 1 :(得分:0)

问题是双重的:您声明了一个局部变量,然后您尝试进行比较,即使处理了第一个变量,也执行两个比较。

您也不需要布尔值:您可以检查它是否当前可见

你应该做的是这样的事情:

begin 
  if Label6.Visible then  
    Label6.Visible := False
  else
    Label6.Visible := True; 
end;

或者甚至更简单:

begin
  Label6.Visible := not Label6.Visible;
end;

答案 2 :(得分:0)

我有类似的问题。 我注意到这是因为我在Form不可见时更改了控件的可见性状态(Tedit)。

所以这没效果: Form2.Edit1.Visible:= TRUE; Form2.Visible:= TRUE;

这有效: Form2.Visible:= TRUE; Form2.Edit1.Visible:= TRUE;

首先使表格可见,然后是控件。

在找到这个之前我尝试了很多解决方案,但都没有效果。 我正在使用Delphi 2007.