warzet
Messages postés44Date d'inscriptionlundi 27 août 2007StatutMembreDernière intervention 1 novembre 2016
-
22 avril 2014 à 10:48
yann_lo_san
Messages postés1137Date d'inscriptionlundi 17 novembre 2003StatutMembreDernière intervention23 janvier 2016
-
24 avril 2014 à 13:38
Bonjour à tous,
voilà j'ai un gros soucis, je souhaiterais, qu'à l'ouverture de mon application après "Login" que certains items du menu de mon MDIForm soit inactif, soit parce que celui qui s'est connecté n'est pas l' Administrateur.
Alors moi j'ai fais comme ceci:
j'ai déclarer une classe
using System; using System.Collections.Generic; using System.Linq; using System.Text;
namespace Gestion_Ecole_Secondaire { class Connexion { public Boolean Admin; } }
Mais comme résultat, quelque soit celui qui se connecte, l'item
this.eleveToolStripMenuItem
reste toujours inactif et item
this.absenceEleveToolStripMenuItem
reste quant à lui toujours invisible.
Aidez si vous avez une solution.
Whismeril
Messages postés18416Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention 1 juin 2023624 22 avril 2014 à 20:17
Bonsoir,
d'abord sur le fond:
les cascades de if ça n'est pas très lisible, ni facile à maintenir.
A ta place j'utiliserais un switch.
Ensuite au lieu de mettre 50 tests pour savoir si tu peux lancer ta connexion, je mettrais le button valider desabled et dans l'événement Changed de tes deux textbox un test qui le passerait enabled uniquement quand c'est bon. C'est très clair pour l'utilisateur.
Pour ton problème, passe un paramètre dans le constructeur de ta form, un bool par exemple.
Comme je ne vois pas ou tu passes de la form ou il y a le button valider à ta form principale je ne peux pas t'aiguiller plus.
warzet
Messages postés44Date d'inscriptionlundi 27 août 2007StatutMembreDernière intervention 1 novembre 2016 23 avril 2014 à 10:32
Merci pour vos conseils,
Je tiens à vous dire que dans mon cas actuel, ce que je souhaite est le suivant:
j'ai un form frmConnexion avec login et PassWord et TypeUsager.
TypeUsager (Admin et user)
J'ai également MDIForm dans laquelle se trouve les menus dont je souhaite gérer les items selon le TypeUsager (Admin ou user). Aussi je voudrais savoir comment procéder. Merci
yann_lo_san
Messages postés1137Date d'inscriptionlundi 17 novembre 2003StatutMembreDernière intervention23 janvier 201624 24 avril 2014 à 13:38
Salut,
une autre solution est de rendre la classe outil Connexion globale .
C'est le même principe que d'utiliser un fichier de configuration App.config
Il suffit de changer comme ceci
public static class Connexion
{
public static Boolean Admin = false;
}
// et de l'utiliser comme ceci
Connexion.Admin = true;
// (...)
if ( Connexion.Admin )
{
// bla bla
}
Une classe statique ne génère pas d'objet mais existe en tant qu'objet unique en mémoire.