Entwickler-Ecke
WinForms - this.Close(); funktioniert einfach nicht
Driftdriver - Mo 07.05.07 23:10
Titel: this.Close(); funktioniert einfach nicht
Hallo!!
Bin neu hier, hab aber schon einige sehr hilfreiche Beiträge hier gefunden!!
Jedenfalls hab ich ein kleines (eher großes) Problem!
this.close(); funktioniert einfafch nicht, habe ein Testprogramm geschrieben:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19:
| namespace test1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); }
private void button1_Click(object sender, EventArgs e) { Form2 next = new Form2();
next.ShowDialog(); this.Close(); } } } |
So, das selbe habe ich im Prinzip auch im Form2 stehen... Allerdings programmier ich das für Windows Mobile, wenn ich jetzt auf die "Laufenden Programme" schau, steht da: Form1 Form2 Form1 Form2 Form1 Form2...
Je nachdem wie oft ich das gedrückt habe... Was kann ich dagegen machen?
Ich danke euch jetzt schon mal für eure Hilfe!!!
MFG
Moderiert von
Christian S.: C#-Tags hinzugefügtModeriert von
Christian S.: Topic aus Allgemeine .NET-Fragen verschoben am Mo 07.05.2007 um 23:15
Christian S. - Mo 07.05.07 23:17
Hallo!
this.close wird erst aufgerufen, wenn next.ShowDialog fertig ist. ShowDialog ist, im Gegensatz zu Show, aber erst fertig, wenn die entsprechende Form (in diesem Fall next) wieder geschlossen wurde.
Grüße
Christian
Driftdriver - Di 08.05.07 10:53
Hallo!!
Erstmal vielen vielen Dank für Deine rasche Antwort!! Ist einleuchtend, wenn Du mir das so erklärst!
Aber welche Möglichkeit habe ich jetzt, nur eine Instanz zu öffnen?
Es muss doch irgendwie möglich sein, das alte Form durch ein neues zu ersetzen!
Mein Hauptproblem ist nämlich, wenn ich den Beenden Button (Application.Exit()) klicke, funktioniert alles wunderbar und das Programm schließt sich. Wenn ich aber am Smartphone den roten Hörer drücke, bleibt der dumme Splash Screen offen...
Aufgerufen wird er so:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| Thread nh = new Thread(new ThreadStart(DoSplash)); nh.Start(); Thread.Sleep(3000);
private void DoSplash() { Splash sp = new Splash(); sp.ShowDialog(); } |
Was kann ich da also machen, wenn ich ein Form nicht wirklich beenden kann?!
Oder kennst Du vielleicht eine Möglichkeit die Auflegen-Taste mit Application.Exit(); zu belegen? Ich kann momentan nur die rauf/runter/links/rechts/enter tasten belegen, nicht aber die "Rote Hörer"-Taste...
MFG
Moderiert von
Christian S.: Quote- durch C#-Tags ersetzt
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!