cs_tiny23
Messages postés10Date d'inscriptionvendredi 5 septembre 2008StatutMembreDernière intervention 7 juin 2011
-
5 juin 2011 à 12:46
NHenry
Messages postés15112Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention13 avril 2024
-
7 juin 2011 à 22:32
Salut, j'ai juste une question qui me trottine dans la tête
En effet j'ai dans mon projet, 3 utilisateurs qui s'authentifient via un FrmLogin de la manière suivante :
Private Sub OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK.Click
If (LoginTextbox.Text "Administrateur" And PasswordTextBox.Text "admin") Then
Me.Close()
FrmMDI.Close()
EcranAdmin()
FrmMDI.ShowDialog()
ElseIf LoginTextbox.Text "Responsable Achat" And PasswordTextBox.Text "achat" Then
Me.Close()
FrmMDI.Close()
EcranRA()
FrmMDI.ShowDialog()
ElseIf (LoginTextbox.Text "Responsable Uniforme" And PasswordTextBox.Text "uniforme") Then
Me.Close()
FrmMDI.Close()
EcranRMU()
FrmMDI.ShowDialog()
Else
MessageBox.Show("Login et/ou Mot de passe incorrect(s)", "ERREUR", MessageBoxButtons.OK, MessageBoxIcon.Warning)
LoginTextbox.Text = ""
PasswordTextBox.Text = ""
End If
End Sub
Les deux derniers (Responsable Achat et Uniforme) dans ma conception ne doivent pas avoir le droit de supprimer un enrégistrement. C'est pour cela que j'ai décider dans chacun de leur module masquer le bouton supprimer
exemple module Responsable Uniforme
Public Sub EcranRMU()
FrmMDI.DéconnexionToolStripMenuItem.Enabled = True
FrmMDI.DonnéesToolStripMenuItem.Enabled = False
FrmMDI.AdministrationToolStripMenuItem.Enabled = False
FrmMDI.EmployéToolStripMenuItem.Enabled = False
FrmMDI.OpérationnelsToolStripMenuItem.Enabled = False
FrmMDI.AttributionToolStripMenuItem.Enabled = True
FrmMDI.RetraitToolStripMenuItem.Enabled = True
FrmMDI.OpérationsToolStripMenuItem.Enabled = False
FrmMDI.MagasinToolStripMenuItem.Enabled = True
FrmAttributionMateriel.ButtonSupprimer.Visible = False
End Sub
Il ya donc un espace vide entre les boutons et ca devient beaucoup génant. Je ne peux pas mettre un .enable = False parce que ca ne fonctionnera pas puisque chez l'Admin, le comportement change en fonction de ceux des autres boutons de commandes (Nouveau, Enrégistrer,Annuler)
NHenry
Messages postés15112Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention13 avril 2024159 5 juin 2011 à 15:35
Bonjour,
Dans ton cas, je te propose 2 solutions complémentaires :
- Quand l'utilisateur s'identifie, tu mets dans une variable globale son statut (Admin, RA, ...)
- Ensuite pour les boutons, tu peux mettre des Panels contenant les boutons pour chaque niveaux, ensuite, tu n'affiches que le panel qui correspond au niveau de l'utilisateur. Je te conseil d'utiliser la propriété Dock pour le placement automatique des panels
cs_tiny23
Messages postés10Date d'inscriptionvendredi 5 septembre 2008StatutMembreDernière intervention 7 juin 2011 7 juin 2011 à 10:54
Pour la première solution, ca marche, dans chaque module j'ai créé une variable globale maintenant soit un peu plus clair pour la seconde solution. stp
NHenry
Messages postés15112Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention13 avril 2024159 7 juin 2011 à 22:32
Bonjour,
La deuxième, je te suggère d'utiliser la propriété Dock des contrôles, tu verra, ça te simplifiera la tache.
Ensuite, tu créé x panels correspondant aux x niveaux possibles.
Après, lors du chargement de la form, en fonction du niveau de l'utilisateur tu masques les panels ne correspondant pas à son niveau.
Sinon, alternative, un contrôle personnalisé, selon la même méthode, mais peut être plus propre.