Laden...

[gelöst] Escape-Taste nach OpenFileDialog noch in der Tastaturwarteschlange?

Erstellt von citizen.ron vor 14 Jahren Letzter Beitrag vor 14 Jahren 800 Views
citizen.ron Themenstarter:in
432 Beiträge seit 2005
vor 14 Jahren
[gelöst] Escape-Taste nach OpenFileDialog noch in der Tastaturwarteschlange?

Hi Folks,

in einem Form A überschreibe ich OnKeyUp; insbesondere soll hier Escape das Form A schliessen.
Von Form A aus rufe ich ein OpenFile-Dialog auf:


      private void OpenFile()
      {
         if (openFileDialog.ShowDialog(this) == DialogResult.OK)
         {
            FileName = openFileDialog.FileName;
            ...
         }
      }

Wenn der Benutzer aber die Escape-Taste verwendet, um diesen modalen Dateidialog zu schliessen, wird hinterher zusätzlich noch das OnKeyUp-Ereignis von Form A durchlaufen.
Das führt natürlich dazu, dass sowohl der OpenFileDialog als auch Form A geschlossen werden. 😦
1.Warum ist das so?
Die Escape-Taste sollte vom OpenFileDialog längst als Handled gekennzeichnet sein.

1.Wie kann ich in diesem Fall in OnKeyUp unterscheiden, dass der Sender nicht Form A selbst war? oder 1.Wie kann ich in OpenFile() selbst die Tastaturwarteschlange leeren oder um Escape erleichtern?

Danke für Eure Hilfe
ron

PS: Um es gleich vorwegzunehmen:
Die Eigenschaften CancelButton und AccepptButton des Formulares scheiden für meine Bedürfnisse aus; die Schalter sind Fremdkomponenten, die vom Compiler nicht als gültige Werte dieser Eigenschaften anerkannt werden.

4.942 Beiträge seit 2008
vor 14 Jahren

Ich denke es liegt am KeyUp, denn der File-Dialog wird ja schon beim Escape-KeyDown geschlossen...

P.S. Erst wollte ich dir auch CancelButton empfehlen -)

citizen.ron Themenstarter:in
432 Beiträge seit 2005
vor 14 Jahren
[gelöst] Escape-Taste nach OpenFileDialog noch in der Tastaturwarteschlange?

Danke th

klingt nicht nur logisch, ist es auch: Problem gelöst. 😃