Bonjour,
je suis à la recherche de la syntax qui permet de faire le teste d'existance d'un Control:
si quelque chose de la sorte existe?Code:IsExist(this.Controls["MyControl"]) // bool
je vous remercie d'avance
Version imprimable
Bonjour,
je suis à la recherche de la syntax qui permet de faire le teste d'existance d'un Control:
si quelque chose de la sorte existe?Code:IsExist(this.Controls["MyControl"]) // bool
je vous remercie d'avance
par rapport à son nom c'est faisable, mais il faut demander à son container (il est possible de demander à toute une form avec une sub récursive)
Code:if this.controls.contains("nomductrl")
merci pour votre réponse,
effectivement, il y a Container.Components["MyElement"] pour les éléments autres que les contrôles tel que ErrorProvider ou ToolTip.
J'ai remarqué sur le site de microsoft une information intéressante, l'usage de:
pour vérifier l'existence ou non du Control ou d'un élément dans un ContainerCode:Convert.ToBoolean(this.Controls["MyControl"])
la conversion en booléen vérifie juste si this.Controls["MyControl"] is null ...
à zut, donc pas si il existe?
il existe quelque chose pour le faire?
Convert.ToBoolean(this.Controls["MyControl"]) retourne true si le controle existe et false s'il n'existe pas comme tu le dis
mais j'explique le fonctionnement de la ligne
this.Controls["MyControl"] retourne null si le controle n'existe pas
Convert.ToBoolean retourn false si on lui donne un null ou 0 et true si on lui donne autre chose
donc if Convert.ToBoolean(this.Controls["MyControl"])
équivaut à if not this.Controls["MyControl"] is null
merci ;)
là c'est clair, je pensais que Convert.ToBoolean() permettait de retrouver un true en cas de fonctionnement ou d'existence et un false en cas d'erreur ou de non existence.
un simple if (this.Controls["MyControl"] != null) suffit