Fermet Fenêtre au click [Résolu]

Signaler
Messages postés
103
Date d'inscription
mardi 12 juillet 2011
Statut
Membre
Dernière intervention
3 janvier 2013
-
HACKANDROID
Messages postés
103
Date d'inscription
mardi 12 juillet 2011
Statut
Membre
Dernière intervention
3 janvier 2013
-
Bonjour,

J'ai fait un bouton "About" qui ouvre une nouvelle fenêtre "Windows2" j'aimerais faire que lorsque l'utilisateur clic sur cette fenêtre ou l'autre elle se referme (Windows2)

Merci (:

Ps. C'est une application WPF

[size=100][color=#B5E655]-------------------------------------------------------------------------------------------------
|Un jour plus personnes n'aura IE! Et sa sera le plus beau jour des développeur // développeuse!|
[b]---------

7 réponses

Messages postés
14
Date d'inscription
dimanche 23 novembre 2008
Statut
Membre
Dernière intervention
31 juillet 2012
10
salut;
il suffit juste d'ajouter cette fonction au code de la fenêtre (Window2)
private void Window2_MouseDown(object sender, RoutedEventArgs e)
{
this.Close();
}
et dans l'autre fenêtre tu met celleci
private void Window1_MouseDown(object sender, RoutedEventArgs e)
{
Window2.Close();
}
c'est tous
Bon courage ;-)
Messages postés
65
Date d'inscription
jeudi 1 septembre 2011
Statut
Membre
Dernière intervention
22 juillet 2014
6
Bonjour,

Dans ta procédure Window1_MouseDown, tu fais Window2.close(), mais Window2 est une classe, tu ne l'as pas instancié comme dans ta procédure Button3a_Click. Essaye comme ça :

public partial class MainWindow : Window
  {
      Window2 wnd = new Window2();    // L'instance de la form

      public MainWindow()
      {
          InitializeComponent();
      }

      private void Button_Click_1(object sender, RoutedEventArgs e)
      {
          this.co.Strokes.Clear();
      }

      private void Button3a_Click(object sender, RoutedEventArgs e)
        {
            wnd.ShowDialog();    // Ouverture de ta form
        }

      private void Button_Click_2(object sender, RoutedEventArgs e)
      {

      }

      private void ButtonCloseClicked(object sender, RoutedEventArgs e)
      {
          this.Close();
      }
      private void Window1_MouseDown(object sender, RoutedEventArgs e)
      {
          wnd.Close();     // Fermeture de ta form
      }
  }
BinKentsu
Messages postés
103
Date d'inscription
mardi 12 juillet 2011
Statut
Membre
Dernière intervention
3 janvier 2013

Hm, sa me génère une erreur : "Error 1 An object reference is required for the non-static field, method, or property 'System.Windows.Window.Close()'"

Mon code pour ouvrir une nouvelle fenêtre :

private void Button3a_Click(object sender, RoutedEventArgs e)
        {
            Window2 wnd = new Window2();
            //wnd.Show();
            wnd.ShowDialog();
        }

Konichiwa (:

Ma page Facebook Spécial Chat
Messages postés
103
Date d'inscription
mardi 12 juillet 2011
Statut
Membre
Dernière intervention
3 janvier 2013

Une partie de mes codes si sa peut aider :

Window 2 :

    public partial class Window2 : Window
    {
        public Window2()
        {
            InitializeComponent();
        }

        private void Window2_MouseDown(object sender, RoutedEventArgs e)
        {
            this.Close();
        }


MainWindow :

  public partial class MainWindow : Window
  {
      public MainWindow()
      {
          InitializeComponent();
      }

      private void Button_Click_1(object sender, RoutedEventArgs e)
      {
          this.co.Strokes.Clear();
      }

      private void Button3a_Click(object sender, RoutedEventArgs e)
        {
            Window2 wnd = new Window2();
            //wnd.Show();
            wnd.ShowDialog();
        }

      private void Button_Click_2(object sender, RoutedEventArgs e)
      {

      }

      private void ButtonCloseClicked(object sender, RoutedEventArgs e)
      {
          this.Close();
      }
      private void Window1_MouseDown(object sender, RoutedEventArgs e)
      {
          Window2.Close();
      }

Konichiwa (:

Ma page Facebook Spécial Chat
Messages postés
14
Date d'inscription
dimanche 23 novembre 2008
Statut
Membre
Dernière intervention
31 juillet 2012
10
salut;
c'est exactement ce que Mr "BinKentsu" te dis.
pour manipuler la fenêtre il faut utiliser le nom d'objet fenêtre créé, dans ton cas c'est "wnd", ainsi tu dois mettre :
" wnd.close(); " au lieu de " window2.close(); "
mon code n'étais qu'un exemple.
Bon courage ;-)
Messages postés
65
Date d'inscription
jeudi 1 septembre 2011
Statut
Membre
Dernière intervention
22 juillet 2014
6
Par contre tu ne dois pas utiliser ShowDialog alors, mais Show.
Parce que ShowDialog te met en pause ta window1 tant que ta window2 n'a pas donné l'ordre de passer à la suite.
Donc si tu appuis sur la souris dans window1, ça ne fera rien.

BinKentsu
Messages postés
103
Date d'inscription
mardi 12 juillet 2011
Statut
Membre
Dernière intervention
3 janvier 2013

Merci de votre aide :)

Konichiwa (:

Ma page Facebook Spécial Chat