Faire une Étiquette Visible/Non Visible dans Delphi
Je voudrais un bouton pour modifier une étiquette entre le fait d'être visible et non visible lorsque l'utilisateur clique dessus. J'ai Essayé le code suivant, mais il ne marche pas:
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;
Il compile, mais ne fonctionne pas!
- Si ce n'est Caché est VRAI lorsque vous entrez ce code, vous allez faire Label6 visible, alors vous allez faire Hidden = Flase, alors vous allez tester si Caché est faux (et c'est, vous venez de faire Faux), et puis vous allez faire Label6.Visible = False et Hidden=true à nouveau.
Vous devez vous connecter pour publier un commentaire.
Ce faire:
Que tout le code dont vous avez besoin.
Aussi, si vous allez aller à l'adresse de l'étiquette dans le code, s'il vous plaît donner un bon nom d'identification (comme lblCountOfMatches ou quelque chose).
Enfin, la raison de votre code ne fonctionne pas, c'est que Caché n'est jamais réglé. Il sera par défaut à false lorsque la valeur déclarée. Si vous souhaitez utiliser le code que vous avez maintenant (ce qui est trop verbeux), vous devez question:
avant d'inspecter Caché.
Le problème est double: vous avez déclaré une variable locale qui vous essayez ensuite de les comparer et de les exécuter à la fois des comparaisons, même si la première a été traitée.
Vous n'avez pas besoin booléens: vous pouvez simplement vérifier si il est actuellement visible
Ce que vous devez faire, c'est donc quelque chose comme ceci:
Ou encore plus simple:
J'ai eu un problème similaire.
J'ai remarqué que cela a causé parce que j'ai changé la visibilité de l'état de la commande (Tedit) quand la Forme n'était pas encore visibles.
Si cela n'a pas fonctionné:
Form2.Edit1.Visible:=True;
Form2.Visible:=True;
Cela a fonctionné:
Form2.Visible:=True;
Form2.Edit1.Visible:=True;
Donc d'abord faire la Forme visible, alors le contrôle.
Avant de trouver ce que j'ai essayé beaucoup de solutions, mais aucune n'a fonctionné.
Je suis à l'aide de Delphi 2007.