j'ai string MyText
qui détiennent "L1"
j'ai l'étiquette de contrôle que son nom est "L1"
est-il possible de lire l'étiquette de la L1 à l'aide de MyText ?
quelque chose comme: TMT = MyText.Text
ou: TMT = ((Control)MyText.ToString()).Text;
merci d'avance
OriginalL'auteur Gold | 2010-05-30
Trouver un contrôle dont le nom est spécifié:
ou de recherche au sein de contrôles de type spécifié:
Edit:
si vous avez un tableau des noms de contrôle vous pouvez trouver:
(tout ce qui est ci-dessus exige .NET 3.5)
Si vous ne les avez, vous pouvez le faire par la suite:
OriginalL'auteur abatishchev
Un moyen plus facile est de faire quelque chose comme ceci:
par exemple.
Il fonctionne très bien ... il y a deux surcharges - un pour ints et une pour les chaînes
Si vous êtes sûr à 100% que
this.Controls
contient le nom est spécifié, vous pouvezcast
type, au lieu de l'opérateuras
:((Button)Controls["myButton"]).Text
. Mais il vaut mieux tout vérifierIl n'est pas de travail, il jette à l'exception de la référence nulle exception
OriginalL'auteur corvuscorax
Vous pouvez faire quelque chose comme ceci:
Cependant, la meilleure pratique est d'éviter de tels cas ... Si vous pouviez spéculer un peu plus pourquoi vous avez besoin de cela, il y aura probablement une meilleure solution.
--edit:merci pour remarquer que est/typeof ..
Vous devez utiliser l'opérateur
is
au lieu de types de comparaison. Aussi doitbreak
sur le succès de recherche..OriginalL'auteur ilandra