Comparaer des type de control

cs_Shakta Messages postés 9 Date d'inscription mercredi 19 novembre 2003 Statut Membre Dernière intervention 8 juillet 2008 - 12 déc. 2003 à 11:49
Miltiades Messages postés 233 Date d'inscription vendredi 21 mars 2003 Statut Membre Dernière intervention 25 octobre 2010 - 15 déc. 2003 à 11:08
Bonjour a tous ,

j'ai deux question, ou je galere:

J'ai une winForm qui est composer de textBox , radiobutton et checkbox. Tous cela en c#

1. Je voudrais comparer le type de mes controls :
ex: savoir si mon control tbNom est un textBox, mon rbOui est un radiobutton ect... (Equal ne marche pas .).

2. Ensuite si c'est un checkbox ou un radiobutton comment acceder a sa propriete checked???

Si qqun a une reponse .. meric de votre aide.

Shakta

12 réponses

stegars Messages postés 24 Date d'inscription jeudi 13 mars 2003 Statut Membre Dernière intervention 25 février 2004 2
12 déc. 2003 à 13:32
1. Pour la vérification des types, tu peux utiliser la méthode getType(). Cette méthode est hérité de object.

2. Comme tu viens de vérifier si ton object "générique" est d'un certain type, tu peux faire un cast explicit et ensuite atteindre la propriété désirée.

Exemple:
Object testchk = new CheckBox();
if(testchk.GetType() == typeof(CheckBox))
    if(((CheckBox)testchk).Checked)
        MessageBox.Show("Selected");
    else
        MessageBox.Show("Not selected");


Espérant répondre à tes questions...

Stegars
0
cs_Shakta Messages postés 9 Date d'inscription mercredi 19 novembre 2003 Statut Membre Dernière intervention 8 juillet 2008
12 déc. 2003 à 13:49
merci Stegars,

pour le 2 je vais essayer car je pense que tu odois avoir raison.
Par contre pour 1 , j'utilise GetType() mais enfait je liste tous les controls de ma winfrom :
foreach (control c in Controls)
{
c.GetType(); // me donne le type.

}

et je voudrais le comparer pour savoir si c un teextbox un checkbox ou autre.
J'ai essayer avec Equals() mais c paas la bonne position.. Aurais tu une idee ?? Car je calle .

:sad)

shakta
0
stegars Messages postés 24 Date d'inscription jeudi 13 mars 2003 Statut Membre Dernière intervention 25 février 2004 2
12 déc. 2003 à 13:53
Pour la question 1., regarde dans l'exemple il y a une condition "if" qui y répond...

Stegars
0
stegars Messages postés 24 Date d'inscription jeudi 13 mars 2003 Statut Membre Dernière intervention 25 février 2004 2
12 déc. 2003 à 13:55
Object.GetType() == typeof(CheckBox
)

Stegars
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Shakta Messages postés 9 Date d'inscription mercredi 19 novembre 2003 Statut Membre Dernière intervention 8 juillet 2008
12 déc. 2003 à 14:41
ok merci je vais tester :)
0
cs_Shakta Messages postés 9 Date d'inscription mercredi 19 novembre 2003 Statut Membre Dernière intervention 8 juillet 2008
12 déc. 2003 à 16:38
Un grand merci a Stergars, je viens de tester et ca marche ..
Grace atoi je vais avoir un bon week end

Bon week end a toi :)
0
stegars Messages postés 24 Date d'inscription jeudi 13 mars 2003 Statut Membre Dernière intervention 25 février 2004 2
12 déc. 2003 à 20:21
pas de problème.

Passe un bon week end

:)

Stegars
0
Miltiades Messages postés 233 Date d'inscription vendredi 21 mars 2003 Statut Membre Dernière intervention 25 octobre 2010
15 déc. 2003 à 10:24
C un peu tard, mais il y avait une autre possibilité + élégante pour tester si une variable est d'un type donné:

if (mavar is CheckBox) ((CheckBox)mavar).Checked = true;


:big)
0
cs_Shakta Messages postés 9 Date d'inscription mercredi 19 novembre 2003 Statut Membre Dernière intervention 8 juillet 2008
15 déc. 2003 à 10:38
Je suis d'accord mais c en VB ca .. il existe la meme chose en c#
0
Miltiades Messages postés 233 Date d'inscription vendredi 21 mars 2003 Statut Membre Dernière intervention 25 octobre 2010
15 déc. 2003 à 10:42
ca marche en c#...
0
cs_Shakta Messages postés 9 Date d'inscription mercredi 19 novembre 2003 Statut Membre Dernière intervention 8 juillet 2008
15 déc. 2003 à 11:03
Meci pour l'info :)
0
Miltiades Messages postés 233 Date d'inscription vendredi 21 mars 2003 Statut Membre Dernière intervention 25 octobre 2010
15 déc. 2003 à 11:08
De rien :big)
0
Rejoignez-nous