bonjour

Je débute en C# ( j'ai commencé ce matin), je programme en C++ Builder d'habitude.

Pour l'instant, je me concentre sur les composants graphiques.
Malgré les recherches faites, je n'ai pas trouvé ce que je cherche.

Je recherche à modifier une propriété de plusieurs composants grâce à une petite routine.
Par exemple au lieu de faire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
btn1->Visible = true;
btn2->Visible = true;
btn3->Visible = true;
...
...
btnN->Visible = true;
En C++, je fais une boucle de ce genre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
  TBitBtn *Btn; //Creation du composant temporaire
  // Pour tous composants sur la form faire
  for(int i = 0; i < this->ComponentCount; i++)
  {
        //Si le composant est de la classe TBitBtn alors
         if(this->Components[i]->ClassNameIs("TBitBtn"))
        {
            //on le pointe avec le btn temporaire et on modifie la propiétée
            Btn =(TBitBtn *)(this)->Components[i];
            if (!Btn->Visible)
               Btn->Visible = true;
        }
  }
Comment peut on faire cela en C#?

Une autre petite question sur les DLL win32 . J'ai suivi les conseils de la faq
Mais j'ai des erreurs et ma form s'efface. Où dois je mettre les "static extern int ..."???

voici le code que j'ai mis :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
 
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
[ DllImport("DriverBaie.dll") ]
static extern int WControl(int AdrBase);
static extern int Clk_Latch(int AdrBase);
static extern int InitPIA(int AdrBase);
 
namespace WindowsApplication1
{
    public partial class Main : Form
    {
        public Main()
        {
            InitializeComponent();
            PnlSechoir.Visible = false;
            PnlOptInt.Visible = false;
 
        }
}
Cordialement