Autor Beitrag
Driftdriver
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Mo 07.05.07 23:10 
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:
ausblenden 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 user profile iconChristian S.: C#-Tags hinzugefügt
Moderiert von user profile iconChristian S.: Topic aus Allgemeine .NET-Fragen verschoben am Mo 07.05.2007 um 23:15
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: 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

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Driftdriver Threadstarter
Hält's aus hier
Beiträge: 2



BeitragVerfasst: 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:
ausblenden 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 user profile iconChristian S.: Quote- durch C#-Tags ersetzt