Laden...

Form wird automatisch geschlossen ?

Erstellt von Haggy vor 14 Jahren Letzter Beitrag vor 14 Jahren 1.367 Views
Haggy Themenstarter:in
1.134 Beiträge seit 2004
vor 14 Jahren
Form wird automatisch geschlossen ?

Hallo

Kennt jemand folgendes Phänomen:

Eine Anwendung startet sich und zeigt eine Form an. Diese Form wird automatisch geschlossen.

Im FormClosing event steht der Reason auf UserClosing

Allerdings clickt der User weder auf das X noch drückt er ALT+F4

Allerdings sieht man im stack Trace folgendeS:

bei System.Windows.Forms.Form.Close()
bei BaseClasses.BaseForms.frmsmartBase.frmsmartBase_KeyDown(Object sender, KeyEventArgs e)
bei System.Windows.Forms.Control.OnKeyDown(KeyEventArgs e)
bei System.Windows.Forms.Control.ProcessKeyEventArgs(Message& m)
bei System.Windows.Forms.Form.ProcessKeyPreview(Message& m)
bei System.Windows.Forms.Control.ProcessKeyPreview(Message& m)
bei System.Windows.Forms.Control.ProcessKeyPreview(Message& m)
bei System.Windows.Forms.Control.ProcessKeyPreview(Message& m)
bei System.Windows.Forms.Control.ProcessKeyPreview(Message& m)
bei System.Windows.Forms.Control.ProcessKeyPreview(Message& m)
bei System.Windows.Forms.Control.ProcessKeyPreview(Message& m)
bei System.Windows.Forms.Control.ProcessKeyPreview(Message& m)
bei System.Windows.Forms.Control.ProcessKeyMessage(Message& m)
bei System.Windows.Forms.Control.WmKeyChar(Message& m)
bei System.Windows.Forms.Control.WndProc(Message& m)
bei System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)

Jetzt ist die Frage wo kommt der Tastenanschlag her ?

ich habe im KeyDown folgenden Code



  if (!this.DesignMode && LicenseManager.UsageMode == LicenseUsageMode.Runtime)
            {
                if (e.KeyCode == this.CloseKey)
                {
                    this.DialogResult = DialogResult.Cancel;
                    this.Close();

                }
            }

wobei das CloseKey Property auf ESC sitzt:


        private Keys m_CloseKey = Keys.Escape;

        /// <summary>
        /// Key bei dem die Form automatisch geschlossen wird
        /// </summary>
        public Keys CloseKey
        {
            get { return m_CloseKey; }
            set { m_CloseKey = value; }
        }
	


Hat jemand einen Tipp wie ich rausbekommen kann wo der Key her kommt ?

Das komische ist das problem tritt nur bei einer Form auf und nur auf einem Rechner auf.

Interessant ist noch das die Form u.a. den Namen des User beinhaltet.

Hat jemand eine idee ob / wie man rausfindet ob der Key von einer anderen Anwendung geschickt wurde?

Mein Stackoverflow Profil
Skype Name : Boas.Enkler (bitte einen hinweis in der Kontaktanfrage damit ich euch vom Spam unterscheiden kann)

2.921 Beiträge seit 2005
vor 14 Jahren

Hast Du schon mal im Call Stack an der Stelle wo das Form geschlossen wird, einen Breakpoint gesetzt und dann nochmal gestartet?

Seit der Erkenntnis, dass der Mensch eine Nachricht ist, erweist sich seine körperliche Existenzform als überflüssig.

Haggy Themenstarter:in
1.134 Beiträge seit 2004
vor 14 Jahren

ja aber auch keine weiteren Infos bekommen.

Es kommt einfach der CloseKey. Das ganz tritt auch nur auf einem einzigen OS auf.

Mein Stackoverflow Profil
Skype Name : Boas.Enkler (bitte einen hinweis in der Kontaktanfrage damit ich euch vom Spam unterscheiden kann)

R
344 Beiträge seit 2006
vor 14 Jahren

Hallo,

schau mal im Designer, ob der den nicht setzt. Habe bei Properties schon desöfteren ungewolltes setzten gehabt.

Gruß Robert

Gelöschter Account
vor 14 Jahren

setz doch mal testweise hinter dem usernamen auf der form irgendein zusätzliches zeichen, nur um zu testen ob der effekt wirklich was damit zu tun hat das die form genauso heißt wie der user.