Adresser un objet dont lenomest construit dynamiquement
5 réponses
B#
Bonjour a tous,
Comment puis-je faire pour me servir d'un objet (existant) en construisant
son nom dynamiquement dans un string ?
Dans un formulaire, j'ai une centaire de textbox dont le nom se termine par
un N°, et je souhaiterai me servir de certaines d'entre elles en fonction du
N° saisi par l'utilisateur. Par exemple,si l'utilisateur saisie un "3", je
souhaiterais pouvoir effectuer des calculs en récupérant le contenu des
textbox Ca3,Pb3,Ag3,etc.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Patrick Philippot
Bonjour,
Comment puis-je faire pour me servir d'un objet (existant) en construisant son nom dynamiquement dans un string ?
Pour créer une instance d'une classe à partir du nom d'assemblage et du nom de classe sous forme de chaîne de caractères, utilisez System.Activator.CreateInstance.
-- Patrick Philippot - Microsoft MVP MainSoft Consulting Services www.mainsoft.fr
Bonjour,
Comment puis-je faire pour me servir d'un objet (existant) en
construisant son nom dynamiquement dans un string ?
Pour créer une instance d'une classe à partir du nom d'assemblage et du nom
de classe sous forme de chaîne de caractères, utilisez
System.Activator.CreateInstance.
--
Patrick Philippot - Microsoft MVP
MainSoft Consulting Services
www.mainsoft.fr
Comment puis-je faire pour me servir d'un objet (existant) en construisant son nom dynamiquement dans un string ?
Pour créer une instance d'une classe à partir du nom d'assemblage et du nom de classe sous forme de chaîne de caractères, utilisez System.Activator.CreateInstance.
-- Patrick Philippot - Microsoft MVP MainSoft Consulting Services www.mainsoft.fr
B#..
Merci de votre réponse. Mon problème n'est pas de créer l'instance mais d'utiliser une instance existante : Les textbox sont déjà instanciées et je souhaite les utiliser en construisant leur nom dynamiquement dans le code.
Merci d'avance,
B#
"Patrick Philippot" a écrit dans le message de news:
Bonjour,
Comment puis-je faire pour me servir d'un objet (existant) en construisant son nom dynamiquement dans un string ?
Pour créer une instance d'une classe à partir du nom d'assemblage et du nom de classe sous forme de chaîne de caractères, utilisez System.Activator.CreateInstance.
-- Patrick Philippot - Microsoft MVP MainSoft Consulting Services www.mainsoft.fr
Merci de votre réponse.
Mon problème n'est pas de créer l'instance mais d'utiliser une instance
existante : Les textbox sont déjà instanciées et je souhaite les utiliser en
construisant leur nom dynamiquement dans le code.
Merci d'avance,
B#
"Patrick Philippot" <patrick.philippot@mainsoft.xx.fr> a écrit dans le
message de news: OrtNem56HHA.4584@TK2MSFTNGP03.phx.gbl...
Bonjour,
Comment puis-je faire pour me servir d'un objet (existant) en
construisant son nom dynamiquement dans un string ?
Pour créer une instance d'une classe à partir du nom d'assemblage et du
nom de classe sous forme de chaîne de caractères, utilisez
System.Activator.CreateInstance.
--
Patrick Philippot - Microsoft MVP
MainSoft Consulting Services
www.mainsoft.fr
Merci de votre réponse. Mon problème n'est pas de créer l'instance mais d'utiliser une instance existante : Les textbox sont déjà instanciées et je souhaite les utiliser en construisant leur nom dynamiquement dans le code.
Merci d'avance,
B#
"Patrick Philippot" a écrit dans le message de news:
Bonjour,
Comment puis-je faire pour me servir d'un objet (existant) en construisant son nom dynamiquement dans un string ?
Pour créer une instance d'une classe à partir du nom d'assemblage et du nom de classe sous forme de chaîne de caractères, utilisez System.Activator.CreateInstance.
-- Patrick Philippot - Microsoft MVP MainSoft Consulting Services www.mainsoft.fr
Gilles TOURREAU
Le Fri, 31 Aug 2007 13:39:37 +0200, B#.. a écrit:
Merci de votre réponse. Mon problème n'est pas de créer l'instance mais d'utiliser une instance existante : Les textbox sont déjà instanciées et je souhaite les utiliser en construisant leur nom dynamiquement dans le code.
Merci d'avance,
B#
"Patrick Philippot" a écrit dans le message de news:
Bonjour,
Comment puis-je faire pour me servir d'un objet (existant) en construisant son nom dynamiquement dans un string ?
Pour créer une instance d'une classe à partir du nom d'assemblage et du nom de classe sous forme de chaîne de caractères, utilisez System.Activator.CreateInstance.
-- Patrick Philippot - Microsoft MVP MainSoft Consulting Services www.mainsoft.fr
En affectant la propriété VotreControle.Name.
Sinon, pouvez détailler plus précisement ce que vous voulez faire ?
Cordialement
-- Gilles TOURREAU
S.A.R.L. P.O.S Le spécialiste en motoculture depuis + de 30 ans ! http://www.pos.fr
Le Fri, 31 Aug 2007 13:39:37 +0200, B#.. <bruno.remeyse@wanadoo.fr> a
écrit:
Merci de votre réponse.
Mon problème n'est pas de créer l'instance mais d'utiliser une instance
existante : Les textbox sont déjà instanciées et je souhaite les
utiliser en
construisant leur nom dynamiquement dans le code.
Merci d'avance,
B#
"Patrick Philippot" <patrick.philippot@mainsoft.xx.fr> a écrit dans le
message de news: OrtNem56HHA.4584@TK2MSFTNGP03.phx.gbl...
Bonjour,
Comment puis-je faire pour me servir d'un objet (existant) en
construisant son nom dynamiquement dans un string ?
Pour créer une instance d'une classe à partir du nom d'assemblage et du
nom de classe sous forme de chaîne de caractères, utilisez
System.Activator.CreateInstance.
--
Patrick Philippot - Microsoft MVP
MainSoft Consulting Services
www.mainsoft.fr
En affectant la propriété VotreControle.Name.
Sinon, pouvez détailler plus précisement ce que vous voulez faire ?
Cordialement
--
Gilles TOURREAU
gilles.tourreau@pos.fr
S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr
Merci de votre réponse. Mon problème n'est pas de créer l'instance mais d'utiliser une instance existante : Les textbox sont déjà instanciées et je souhaite les utiliser en construisant leur nom dynamiquement dans le code.
Merci d'avance,
B#
"Patrick Philippot" a écrit dans le message de news:
Bonjour,
Comment puis-je faire pour me servir d'un objet (existant) en construisant son nom dynamiquement dans un string ?
Pour créer une instance d'une classe à partir du nom d'assemblage et du nom de classe sous forme de chaîne de caractères, utilisez System.Activator.CreateInstance.
-- Patrick Philippot - Microsoft MVP MainSoft Consulting Services www.mainsoft.fr
En affectant la propriété VotreControle.Name.
Sinon, pouvez détailler plus précisement ce que vous voulez faire ?
Cordialement
-- Gilles TOURREAU
S.A.R.L. P.O.S Le spécialiste en motoculture depuis + de 30 ans ! http://www.pos.fr
Patrick Philippot
B#.. wrote:
Mon problème n'est pas de créer l'instance mais d'utiliser une instance existante : Les textbox sont déjà instanciées et je souhaite les utiliser en construisant leur nom dynamiquement dans le code.
Ah bon! Pour accéder à un contrôle quelconque par son nom dans une Form:
Toute WinForm possède une propriété Controls qui est une collection (ControlCollection) de Controls. Vous pouvez utiliser la méthode Find de cette classe pour récupérer une instance d'un contrôle par son nom et le transtyper de manière adéquate.
Control[] C = Controls.Find("TextBox1", false); if (C.GetLength(0) != 0) { TextBox t = (TextBox) C[0]; t.Text = "Toto"; }
Find retourne un array de tous les contrôles portant ce nom, d'où le [0].
-- Patrick Philippot - Microsoft MVP MainSoft Consulting Services www.mainsoft.fr
B#.. wrote:
Mon problème n'est pas de créer l'instance mais d'utiliser une
instance existante : Les textbox sont déjà instanciées et je souhaite
les utiliser en construisant leur nom dynamiquement dans le code.
Ah bon! Pour accéder à un contrôle quelconque par son nom dans une Form:
Toute WinForm possède une propriété Controls qui est une collection
(ControlCollection) de Controls. Vous pouvez utiliser la méthode Find de
cette classe pour récupérer une instance d'un contrôle par son nom et le
transtyper de manière adéquate.
Control[] C = Controls.Find("TextBox1", false);
if (C.GetLength(0) != 0)
{
TextBox t = (TextBox) C[0];
t.Text = "Toto";
}
Find retourne un array de tous les contrôles portant ce nom, d'où le [0].
--
Patrick Philippot - Microsoft MVP
MainSoft Consulting Services
www.mainsoft.fr
Mon problème n'est pas de créer l'instance mais d'utiliser une instance existante : Les textbox sont déjà instanciées et je souhaite les utiliser en construisant leur nom dynamiquement dans le code.
Ah bon! Pour accéder à un contrôle quelconque par son nom dans une Form:
Toute WinForm possède une propriété Controls qui est une collection (ControlCollection) de Controls. Vous pouvez utiliser la méthode Find de cette classe pour récupérer une instance d'un contrôle par son nom et le transtyper de manière adéquate.
Control[] C = Controls.Find("TextBox1", false); if (C.GetLength(0) != 0) { TextBox t = (TextBox) C[0]; t.Text = "Toto"; }
Find retourne un array de tous les contrôles portant ce nom, d'où le [0].
-- Patrick Philippot - Microsoft MVP MainSoft Consulting Services www.mainsoft.fr
B#..
Exactement ce que je cherchais !!, Merci beaucoup de votre aide.
B#
"Patrick Philippot" a écrit dans le message de news:
B#.. wrote:
Mon problème n'est pas de créer l'instance mais d'utiliser une instance existante : Les textbox sont déjà instanciées et je souhaite les utiliser en construisant leur nom dynamiquement dans le code.
Ah bon! Pour accéder à un contrôle quelconque par son nom dans une Form:
Toute WinForm possède une propriété Controls qui est une collection (ControlCollection) de Controls. Vous pouvez utiliser la méthode Find de cette classe pour récupérer une instance d'un contrôle par son nom et le transtyper de manière adéquate.
Control[] C = Controls.Find("TextBox1", false); if (C.GetLength(0) != 0) { TextBox t = (TextBox) C[0]; t.Text = "Toto"; }
Find retourne un array de tous les contrôles portant ce nom, d'où le [0].
-- Patrick Philippot - Microsoft MVP MainSoft Consulting Services www.mainsoft.fr
Exactement ce que je cherchais !!, Merci beaucoup de votre aide.
B#
"Patrick Philippot" <patrick.philippot@mainsoft.xx.fr> a écrit dans le
message de news: ezpnkQ96HHA.3940@TK2MSFTNGP05.phx.gbl...
B#.. wrote:
Mon problème n'est pas de créer l'instance mais d'utiliser une
instance existante : Les textbox sont déjà instanciées et je souhaite
les utiliser en construisant leur nom dynamiquement dans le code.
Ah bon! Pour accéder à un contrôle quelconque par son nom dans une Form:
Toute WinForm possède une propriété Controls qui est une collection
(ControlCollection) de Controls. Vous pouvez utiliser la méthode Find de
cette classe pour récupérer une instance d'un contrôle par son nom et le
transtyper de manière adéquate.
Control[] C = Controls.Find("TextBox1", false);
if (C.GetLength(0) != 0)
{
TextBox t = (TextBox) C[0];
t.Text = "Toto";
}
Find retourne un array de tous les contrôles portant ce nom, d'où le [0].
--
Patrick Philippot - Microsoft MVP
MainSoft Consulting Services
www.mainsoft.fr
Exactement ce que je cherchais !!, Merci beaucoup de votre aide.
B#
"Patrick Philippot" a écrit dans le message de news:
B#.. wrote:
Mon problème n'est pas de créer l'instance mais d'utiliser une instance existante : Les textbox sont déjà instanciées et je souhaite les utiliser en construisant leur nom dynamiquement dans le code.
Ah bon! Pour accéder à un contrôle quelconque par son nom dans une Form:
Toute WinForm possède une propriété Controls qui est une collection (ControlCollection) de Controls. Vous pouvez utiliser la méthode Find de cette classe pour récupérer une instance d'un contrôle par son nom et le transtyper de manière adéquate.
Control[] C = Controls.Find("TextBox1", false); if (C.GetLength(0) != 0) { TextBox t = (TextBox) C[0]; t.Text = "Toto"; }
Find retourne un array de tous les contrôles portant ce nom, d'où le [0].
-- Patrick Philippot - Microsoft MVP MainSoft Consulting Services www.mainsoft.fr