Comment faire pour activer un form qui est déja désactiver

Signaler
Messages postés
66
Date d'inscription
mardi 22 novembre 2011
Statut
Membre
Dernière intervention
31 décembre 2013
-
Messages postés
99
Date d'inscription
jeudi 17 janvier 2008
Statut
Membre
Dernière intervention
25 juillet 2013
-
Bonjour, j'ai créé deux formulaires : un formulaire de connexion, et un formulaire principale qui sera affiché lorsque je lance le débogage.
lors du chargement du formulaire principal le formulaire de connexion également chargé.
Maintenant, ma question est, je veux désactiver la forme principale, lorsque le formulaire de connexion est chargé.
si la connexion réussie, le formulaire principal doit être activé sinon il doit être désactiver.

j'ai essayé ce code :

MainFrm .cs :

private void Form1_Load(object sender, EventArgs e)
{
foreach (Control c in this.Controls)
c.Enabled =  false;
Connectez ConnectezFrm new Connectez { TopMost true, Owner = this };
ConnectezFrm.Show();
}


Connectez.cs :

private MainFrm objMainfrm { get; set; }
public Connectez(MainFrm objfrm)
{
objMainfrm  = objfrm;
InitializeComponent();
}
....
....
private void simpleButton1_Click(object sender, EventArgs e)
{
foreach (Control c in objMainfrm.Controls)
c.Enabled = true;
this.Close();
}

4 réponses

Messages postés
15132
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
23 novembre 2020
462
Bonsoir, tu devrais passer à Connectez l'instance en cours de Form1, par passage de paramètres au constructeur

Tu pourras l'éteindre si ta connection marche.




Whismeril
Messages postés
1540
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
1 août 2013
12
Salut,

pourquoi vouloir cacher la form principale, alors que tu pourrais afficher la form de connexion en modale ? Là, si l'utilisateur a oublié ses informations de connexion, il se passe quoi ? Il reste bloqué sur la petite form de connexion ? Comment il quitte l'application ?

NB : ce sujet m'en rappelle un autre sorti y'a peu ...
Messages postés
15132
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
23 novembre 2020
462
@Jopop c'est pas faux!
Whismeril
Messages postés
99
Date d'inscription
jeudi 17 janvier 2008
Statut
Membre
Dernière intervention
25 juillet 2013
1
Bonjour,
tu pourrais jetter un coup d'oeil sur ce code, pourra-t-il t'être utile?
private void btnOK_Click(object sender, EventArgs e)
{
if ((txtLogin.TextLength 0) && (txtMotDePasse.TextLength 0))
{
MessageBox.Show("Nom d'utilisateur et Mot de passe sont vide. S.V.P. Essayer de nouveau!", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
return;
}

System.Data.OleDb.OleDbConnection Cnx = new System.Data.OleDb.OleDbConnection();
Cnx.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data source=" + Application.StartupPath + @"\Gestion_College.mdb";
try
{
Cnx.Open();
System.Data.OleDb.OleDbDataReader DtR;
System.Data.OleDb.OleDbCommand Comde = new System.Data.OleDb.OleDbCommand("SELECT * FROM [Utilisateurs]where login='" + (objuser.Encrypt(txtLogin.Text.Trim())) + "' AND mot_de_passe = '" + (objuser.Encrypt(txtMotDePasse.Text.Trim())) + "';", Cnx);
DtR = Comde.ExecuteReader();
if (DtR.Read() == true)
{
frmIntro fmEntree = new frmIntro();
fmEntree.Show();
this.Hide();
DtR.Close();
}
else
{

// Incrementer login essais
intLoginEssais += 1;
// Après le 3éme essai quitter l'application
if (intLoginEssais >= 3)
{
MessageBox.Show("Nombre d'essais dépassés, Arrêt de l'Application!", this.Text,
MessageBoxButtons.OK, MessageBoxIcon.Information);
DtR.Close();
Application.Exit();
}
else
{
MessageBox.Show("Nom d'Utilisateur et Mot de Passe Eronnés! Veuillez reessayer", "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
this.txtLogin.Text = "";
this.txtMotDePasse.Text = "";
this.txtLogin.Focus();
return;
}
}
DtR.Close();
}
catch(Exception lg)
{
MessageBox.Show(lg.Message, this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}

Mais ici la base de données est ACCESS 2003