salut
est ce qu'il ya une classe ou methode qui permet de manipuler ou d'extraire tt les controls d'une form ??
svp c urgent
salut
est ce qu'il ya une classe ou methode qui permet de manipuler ou d'extraire tt les controls d'une form ??
svp c urgent
Qu'entends-tu par "extraire" ?
Tous les controls sont présents dansForm.Controls ... Après tu peux les manipuler avec un For Each mais je ne vois pas ce que tu entends par "extraire".
en fait je developpe une application qui va permettre de modifier les propriètés des controles d'un projet vb.net quelconque.
au debut j'ajoute au fichier .vbproj du projets le code suivant :
feuille.vb c le code ki va permettre de modifier les propriètés des controls.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <File RelPath = "feuille.vb" SubType = "Form" BuildAction = "Compile" /> <File RelPath = "feuille.resx" DependentUpon = "fonctions.vb" BuildAction = "EmbeddedResource" />
et je modifie cette variable pour ke la form que je viens d'ajouter au projet se lance au demarrage
aprés je copie les fichier feuille.vb et feuille.resx ds le dossier de projet
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2StartupObject = "nom_de_projet.feuille"
alors lorsque j'écris :ds feuille.vb
Code : Sélectionner tout - Visualiser dans une fenêtre à part For each c in Me.controls
est ce que ça concerne ttes les form et ts les controls ki peuvent exister ds le projet que g eu comme input ?
La propriété Controls donne tous les contrôles d'un contrôle, donc si Me est une Form tu aura les contrôles de la Form. Mais si cette Form contient un Panel qui contient des contrôles tu ne les auras pas !Envoyé par Splash
Donc pour ton projet il faut que tu écrive une méthode qui boucle sur toutes les Forms de ton projet, puis sur chaque Form appeler une méthode récursive pour lister les contrôles.
Merci
le probleme c que je connais pas a l'avance les formes ki existent dans le projet. j'ai essayé d'extraire les noms des formes a partir de dossier de projet(les fichier qui ont l'extension .resx) mais j'obtien le nom comme String et lorsque je faispour manipuler la forme, variable c le nom de la forme, ça marche pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Dim f as new variable
je debute en .net
alors est ce k'il ya un autre moyen (une classe ou 1 methode ds .net framework) pour obtenir tt les form ki existe ds le projet?
Tu peux utiliser la Reflection pour instancier des objets à partir du nom de la classe
en C# ça donne
cherche dans les autres sujets tu trouveras des exemples VB
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 using System.Reflection; ... try { Assembly myAssembly = Assembly.GetExecutingAssembly(); Type l_typeFonction = myAssembly.GetType("monNameSpace.maClasse"); m_fonction = Activator.CreateInstance(l_typeFonction)); } catch (System.Reflection.ReflectionTypeLoadException) { ... }
alors j'essaie de faire ça :
ça marche pas. est ce que j'ai manqué une ligne ??
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Imports System.Reflection ---------------------------------------------------- Dim MyAssembly as Assembly Dim frm as Type Dim t as Type MyAssembly = Assembly.GetExecutingAssembly() frm = Type.GetType("System.Windows.Froms") For Each t in asmb.GetTypes() If t.IsSubClassOf(frm) Then 'Ajout dans un tableau End If Next t
SVP c urgent.
Peut-être une faute de frappe ?
Envoyé par Splash
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager