Announcement

Collapse
No announcement yet.

Windows Forms: Falsches Form erhält focus.

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

  • Windows Forms: Falsches Form erhält focus.

    Hallo Forum,
    ich habe ein kleines Problem beim Focusieren von Froms. Sinngemäß soll ein Form, ich nenne es jetzt mal FromMain, in seiner FormLoad Methode entscheiden ob es ein weiteres From anzeigen soll und dieses dann Fokussieren und sich selbst dann minimieren. Hierfür sieht dann in der FormLoad des FormMain folgendermaßen aus:


    Code:
    private void FormMain_Load(object sender, EventArgs e)
    {
           User user = DbUser.LoadByPrimaryKey(Session,  Session.UserDomainName, Session.UserName);            
           if (user.IsAnwender)
           {
                 this.WindowState = FormWindowState.Minimized;                   
                 CallAnderesForm();                 
           }
    }
    Die LoadMethode des anderen Forms ist dann wie folgt:

    Code:
    private void FormAnderesForm_Load(object sender, EventArgs e)
    {
           this.BringToFront();
           this.Activate();
    }
    Das ganze läuft auch eigentlich ganz gut nur eben dass das FromMain seinen Focus nicht abgeben will.

    Ich danke schon mal im Voraus für eure Anregungen.

    mfg
    cArrow25

  • #2
    So was im Load Event zu machen ist ein Problem.

    Die Form die du gerade erzeugst in noch nicht vollständig erzeugt und selbst damit beschäftigt sich den Focus zu holen(und schließt es erst nach deinem Code im Load Event ab). Während diesem Vorgang wiederum jemand anderen den Focus zu geben bringt das System durcheinander. Üblicherweise hat nachher die gesamte Anwendung keinen Focus mehr und irgendeine andere Anwendung bekommt ihn.

    Wenn du am Focus rumspielst zum Beispiel durch erzeugen von Formen solltest du das erst machen wenn das erzeugen und anzeigen der aktuellen Form abgeschlossen ist z.B. im Shown Event.

    Es ist auch immer hilfreich (z.b. bei Focusproblemen) beim Show oder ShowDialog Aufruf der Form den Owner mitzugeben.

    Comment


    • #3
      Wenn du am Focus rumspielst zum Beispiel durch erzeugen von Formen solltest du das erst machen wenn das erzeugen und anzeigen der aktuellen Form abgeschlossen ist z.B. im Shown Event.
      SUPER das wars, ich hab das ganze aus dem Load ins Shown verlagert und schon läuft es wie gewünscht. Danke noch mal für die schnell und hilfreiche antwort.

      Comment

      Working...
      X