Modifier un type de composant en 1 seule fois
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:
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:
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:
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