Announcement

Collapse
No announcement yet.

Window.Closed - Eigenschaften

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Window.Closed - Eigenschaften

    Hy Zusammen.

    Ich starte aus Gästedaten.xaml (WPF-Window) die GästeSuchen.xaml (WPF-Window).

    In der GästeSuchen.xaml liste ich alle Gäste aus und bestätige einen ausgewählten Gast in einem seperatem Button.

    Meine Schwierigkeit liegt darin, wie kann ich in der Gästedaten.xaml das schließen des Fensters GästeSuchen.xaml abfangen damit ich auf dieses Schließen speziel reagieren kann.

    Ich weis, dass es mit dem EventHandler zu tun hat. Leider komme ich da nicht weiter. Auch habe ich es nicht geschafft, übers Internet etwas für mich herauszufinden. MSDN war mir auch keine Hilfe.

    Ich hoffe, dass Ihr mir helfen könnt.

    Vielen Dank

    Gruß

    Lerando

  • #2
    Vielleicht habe ich mich falsch ausgedrückt.

    Ich versuche es mal so.

    Ich habe ein Fenster "Gästedaten" aus dem ich per Button ein Fenster öffne.

    Code:
    GesuchteNamen gn = new GesuchteNamen();
                //Auflistung starten
                gn.Show();
    In dem Fenster "GesuchteNamen" wähle ich Daten aus, die ich in static public Variablen schreiben.

    Nun möchte ich die static Variablen in dem Fenster "Gästedaten" wieder einlesen, benötige aber dazu die Closed-Information von "GesuchteNamen" um erst dann, die static - Variablen einzulesen.

    Vielen Dank für Eure Hilfe

    Gruß

    Lerando

    Comment


    • #3
      Closed-Information
      Meinst du DialogResult?

      Oder meinst du einfach du weißt nicht wie du den Event verdrahtest?

      Code:
      GesuchteNamen gn = new GesuchteNamen();
      gn .Closed += gn_Closed;
      gn.Show();
      
      void gn_Closed(object sender, EventArgs e)
      {
          // blah
      }
      Kommunikation via static Variablen hört sich besch .... äh sagen wir mal suboptimal an. Hast du dir das gut überlegt?

      Comment


      • #4
        Nicht ganz

        Vielleicht verstehts man mich, wenn ich es versuche Bildhaft darzustellen.

        Fenster "Gästeverwaltung"
        ________________________


        -Namen suchen-

        _________________________

        Ich klicke auf >> -Namen suchen- <<

        Es öffnet sich das Fenster "Gast suchen"
        _________________________

        Gastdaten

        _________________________

        Jetzt wähle ich einen Gast aus und schließe das Fenster.

        JETZT möchte ich nach dem schließen des Fensters "Gast suchen"
        in der Programmierung von "Gästeverwaltung" darauf reagieren.

        D. h. erst dann muss ich eine Methode ausführen können.


        Vielen Dank für die Geduld.

        Lerando

        PS:: die static-variablen sind sehr gut überlegt und werden nur auf eine einzige Aktion benötigt.

        Comment


        • #5
          da würde ich ein modales Fenster verwenden.
          Beispiel für ein modales Fenster ist eine MessageBox.

          Jede System.Windows.Forms.Form kann entweder mit Show() oder mit ShowDialog() aufgerufen werden.

          Erst nach dem Schließen des modalen Fensters geht der Programmablauf weiter.

          ShowDialog() bedeutet also: ich ruf dich auf und warte bis du geschlossen wirst.

          - Gast suchen , das modale Fenster steht dem aufrufenden Programm zu Verfügung.

          im aufrufenden Fenster:

          Code:
          if(GastSuchenfenster.showDialog()==DialogResult.OK)
          {
               //das aufrufende Fenster holt die Gastdaten aus dem modalen Fenster
               // public properties verwenden
          }

          im GastSuchFenster (modalen Fenster):
          Code:
          private void button1_Click(object sender, System.EventArgs e)
          {
                this.DialogResult = DialogResult.OK;
                this.Close();
          }

          Comment


          • #6
            Vielen Dank an euch.

            Das mit dem SchowDialog() hat sehr gut Funktioniert.

            Ihr seid für mich einfach Weltmeister.

            Nochmals Danke.

            Gruß

            Leo

            Comment

            Working...
            X