J'utilise VisualStudio 2008 sur un système utilisant .NET Compact Framework 3.5 dans VB.NET et j'ai un formulaire qui contient deux composants, à savoir les minuteurs et les boîtes de message. Une partie de mon application est un sous-système qui parcourt tous les contrôles du formulaire et ajuste les propriétés telles que Front ou BackColor afin que nous puissions rescanner toute l'application à la demande.Comment parcourir des composants sur un formulaire Windows?
Pendant que j'écrit à travers ces commandes, je voudrais également parcourir les composants et définir certaines propriétés des boîtes de message sur le formulaire. J'ai essayé d'utiliser un For Each pour accéder à Me.components.Components mais cette collection semble être privée.
For Each comp As Object in Me.components
<do something>
Next comp
Existe-t-il un moyen de parcourir les composants?
EDIT:
J'ai eu tort de penser que me.components.Component est privé. En utilisant Me.components.Components
je reçois l'erreur suivante:
'Components' is not a member of 'System.ComponentModel.IContainer".
A 'MessageBox' ne fait pas partie, ni un contrôle. Il est une boîte de dialogue créé que lorsque vous appelez' MessageBox.Show() '. Vous ne pouvez probablement pas le trouver en utilisant le code .NET Il faudrait plutôt exécuter l'invocation de la plate-forme sur la fonction 'EnumWindows()' de WinAPI par exemple –
Après avoir creusé un peu j'ai trouvé que dans le Compact Framework les composants ne sont pas réellement liés le formulaire lui-même.Ils peuvent encore être trouvés ailleurs, voir ces deux réponses: [** \ [1 \] **] (http://stackoverflow.com/a/14628749/3740093) [** \ [2 \ ] **] (http://stackoverflow.com/a/371829/3740093) –