IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Fermer un usercontrol à partir de celui-ci. [Débutant]


Sujet :

C#

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Juin 2007
    Messages : 60
    Par défaut Fermer un usercontrol à partir de celui-ci.
    Bonjour,

    Voilà je sollicite votre aide après des heures de recherches sur internet.

    Je viens de me mettre en C# et WPF et coince un peu.

    J'ai créer une écran nommé MainWindow et un UserControl Control_ID.

    Dans le MainWindow pour l'instant j'ai rien mis.
    Dans le UserControl il y a deux champs texte login et mot de passe, ainsi que deux boutons Connexion et créer un compte.

    Le code de MainWindows :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
            public MainWindow()
            {
                InitializeComponent();
     
                Control_ID ControlId = new Control_ID();
                MainWindows_Grid.Children.Add(ControlId);
     
            }
    Celui de UserControl :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    27
    28
    29
    30
    31
     
      private string ID_Login = CompteGestion.Properties.Settings.Default.ID_LOGIN;
            private string ID_Password = CompteGestion.Properties.Settings.Default.ID_PASSWORD;
     
            public Control_ID()
            {
                InitializeComponent();
                UpdateID();
            }
     
            public void UpdateID()
            {
                if (string.IsNullOrEmpty(ID_Login) || string.IsNullOrEmpty(ID_Password))
                {
                    txt_login.Text = ID_Login;
                    pbx_password.Password = "";
                    cb_souvenirdemoi.IsChecked = false;
                }
                else
                {
                    txt_login.Text = ID_Login;
                    pbx_password.Password = ID_Password;
                    cb_souvenirdemoi.IsChecked = true;
     
                }
            }
     
            private void bt_connection_Click(object sender, RoutedEventArgs e)
            {
     
            }
    Je recherche que quand je clique sur le bouton connexion, il va faire çà recherche d’identification jusque là je sais le faire. Mais dès que la personne est bien connecté alors le UserControl se ferme et c'est là que je coince, j'ai essayé plein de méthode sur internet et aucune ne me convient (fonctionne)

    Sauf à mettre dans MainWindow mais je voudrais fermer l'UserControl à partir d'elle même.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public void Close_Children_Control_ID()
    {
        MainWindows_Grid.Children.Clear();
    }
    Que pourriez vous me conseiller et comment puis je faire ?

    Je vous remercie pour le temps que vous aurez consacré à me lire et m'aider à trouver une solution ainsi que vos conseils.

    Cordialement.

  2. #2
    Membre éprouvé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2012
    Messages : 116
    Par défaut
    Qu'as tu essayé?
    Ceci par exemple?

  3. #3
    Membre Expert

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    2 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2 067
    Par défaut
    Si c'est une simple fenêtre de connexion, pourquoi ne pas la créer dans une autre fenêtre comme ça tu ouvres cette fenêtre pour que la personne puisse se connecter et une fois connecter, tu fermes ta fenêtre de login et tu affiches ta mainwindow.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Juin 2007
    Messages : 60
    Par défaut
    Bonjour,

    Dynamès, j'ai déjà essayé et cela ne fonctionne pas.

    youtpout978, oui je crois que je vais pas avoir le choix de passer par là malheureusement.

    Si vous avez d'autres idées. Merci

    Cordialement.

  5. #5
    Membre confirmé
    Femme Profil pro
    Etudiante en Développement
    Inscrit en
    Avril 2012
    Messages
    106
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiante en Développement
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2012
    Messages : 106
    Par défaut
    Un user control est voué à faire partie d'une fenêtre.
    Tu ne peux pas le "fermer", tout comme tu ne peux pas l'afficher tel quel, tu es obligé de le mettre dans une fenêtre pour le voir.

    Dans ton cas tu peux procéder de différentes façons:

    tu peux par exemple faire ce que youtpout978 a suggéré : créer une fenêtre de connexion à part entière.

    Si tu tiens à garder ton user control; tu peux toujours déclarer un évènement du genre "UserConnected" dans ton user control.
    Ensuite, tu abonnes ta MainWindow à cet évènement et dans le handler, tu supprimes le user control de la fenêtre.

  6. #6
    Membre Expert
    Homme Profil pro
    Développeur .Net / Delphi
    Inscrit en
    Juillet 2002
    Messages
    738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur .Net / Delphi
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2002
    Messages : 738
    Par défaut
    Bonjour,

    Tout dépend du design de la fenêtre. Si le control login est positionné en haut à droite de l'écran principale par exemple et ne doit apparaitre que si l'utilisateur n'est pas loggué, un simple Visible = false fera très bien l'affaire.
    Un UserControl, comme son nom l'indique, est un control tel un bouton par exemple, et on ne "ferme" pas un bouton. On peut le rendre invisible... (par un évènement effectivement afin que la fenêtre principale en soit informée)

    Maintenant, s'il s'agit d'une fenêtre de login a part entière, effectivement, la solution de youtpout978 est certainement la plus simple.

    C'est un choix....

    eb.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Juin 2007
    Messages : 60
    Par défaut
    Bonsoir,

    Merci beaucoup pour toutes ses informations je vais méditer sur tout cela.

    Passez une bonne fin de journée et merci.

    Cordialement.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. fermer une form à partir d'un handle?
    Par UnSofteuxAmateur dans le forum Windows Forms
    Réponses: 18
    Dernier message: 15/06/2009, 10h33
  2. propriété dans usercontrol à partir d'une liste(combobox)
    Par salihovic dans le forum Windows Forms
    Réponses: 4
    Dernier message: 22/11/2007, 16h02
  3. Fermer une TForm à partir du code dans OnShow
    Par FredericB dans le forum C++Builder
    Réponses: 2
    Dernier message: 12/09/2007, 00h37
  4. Réponses: 3
    Dernier message: 30/03/2007, 08h24
  5. Fermer les classeurs excel sauf celui actif
    Par Balian1412 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 09/10/2006, 10h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo