C# - App schließen -> Bestätigung
wie kann ich bei C# eine "schließbestätigung" in meine app einbauen?
also wenn ich auf der mainpage den back button auf meinem windows phone drücke, soll die app sich nicht schließen, sondern es soll eine messagebox kommen, auf der so etwas wie "Willst du die App wirklich schließen" steht. wenn ich "nein" drücke oder auf den back button vom phone, soll die app sich natürlich nicht schließen, bei "ja" schon.
man sieht so eine bestätigung ja immer wieder, auch wenn sie nicht sehr beliebt ist. beispielsweise gibt es das glaub ich bei der pocketpc.ch app und im+, wenn ich mich jetzt nicht irre!
ich bin ein anfänger in sachen programmieren, also bitte so antworten, dass ich es auch einigermaßen verstehe! :p
und außerdem, wo soll dann dieser code hin? auf App.xaml?
danke schon mal im voraus!
AW: C# - App schließen -> Bestätigung
Bin auch kein Profi aber eine Möglichkeit wäre folgende:
Auf der MainPage.xaml.cs (oder wie deine MainPage auch heisst) baust du folgenden Eventhandler ein:
Code:
protected override void OnBackKeyPress(System.ComponentModel.CancelEventArgs e)
{
base.OnBackKeyPress(e);
if (MessageBox.Show("Möchten Sie die App wirklich verlassen?", "Exit", MessageBoxButton.OKCancel) == MessageBoxResult.Cancel)
{
e.Cancel = true;
}
}
Hoffe ich konnte dir helfen.
AW: C# - App schließen -> Bestätigung
Zitat:
Zitat von
apox
Bin auch kein Profi aber eine Möglichkeit wäre folgende:
Auf der MainPage.xaml.cs (oder wie deine MainPage auch heisst) baust du folgenden Eventhandler ein:
Code:
protected override void OnBackKeyPress(System.ComponentModel.CancelEventArgs e)
{
base.OnBackKeyPress(e);
if (MessageBox.Show("Möchten Sie die App wirklich verlassen?", "Exit", MessageBoxButton.OKCancel) == MessageBoxResult.Cancel)
{
e.Cancel = true;
}
}
Hoffe ich konnte dir helfen.
danke für die antwort. leider funktioniert dein code bei mir jedoch nicht. es wird "void" unterstrichen und bei der error description steht: "Expected class, delegate, enum, interface, or struct"
hätte noch eine kleine frage, die eigentlich nicht hierhin gehört: wie kann ich einen webbrowser cookies akzeptieren lassen?
AW: C# - App schließen -> Bestätigung
sorry für den doublepost, aber ich glaub das mit der bestätigung beim schließen habe ich geschafft:
Zitat:
private void PhoneApplicationPage_BackKeyPress(object sender, System.ComponentModel.CancelEventArgs e)
{
base.OnBackKeyPress(e);
if (MessageBox.Show("Möchten Sie die App wirklich verlassen?", "Exit", MessageBoxButton.OKCancel) == MessageBoxResult.Cancel)
{
e.Cancel = true;
}
}
habe dabei nicht die onbackkeypress methode benutzt, sondern das backkeypress event bei der phoneapplicationpage :D
zugegeben, habe etwas rumprobiert, aber es funktioniert!
jetzt nur noch die kleine frage: wie lasse ich einen webbrowser cookies akzeptieren?
AW: C# - App schließen -> Bestätigung
Zitat:
Zitat von
wp7checker
jetzt nur noch die kleine frage: wie lasse ich einen webbrowser cookies akzeptieren?
Bitte diese Frage in einem neuen Thread stellen damit es übersichtlich bleibt. Danke.
AW: C# - App schließen -> Bestätigung
Zitat:
Zitat von
wp7checker
man sieht so eine bestätigung ja immer wieder, auch wenn sie nicht sehr beliebt ist.
Das ist bei deiner Frage meiner Meinung nach der entscheidende Punkt. So eine Bestätigung ist für Apps bei Windows Phone nicht vorgesehen und davon abgesehen unnötig. Ich persönlich finde so eine Bestätigung (auch in der ansonsten sehr geliebten PocketPC.ch App) nervig. Ich schätze mal, dass es den meisten so geht.
Interessant wäre vielleicht, warum man so eine Meldung einbauen wollen würde. Ich kann mir hier nur zwei Beweggründe vorstellen:
- Man möchte den Anwender motivieren, doch in der App zu bleiben. Ich kann mir (wieder von meinem eigenen Verhalten aus verallgemeinert) nicht vorstellen, dass das funktioniert. Noch nie habe ich beispielsweise bei der Meldung der PocketPC.ch App auf "Abbrechen" gedrückt. Ich kann mir einfach nicht vorstellen, dass es jemanden gibt, der sich bei der Meldung denkt: "Ach, gerade wollte ich die App noch beenden aber jetzt, wo ich die Meldung sehe, überlege ich es mir anders".
- Man möchte dem Anwender bei einem versehentlichen Drücken des Zurück-Buttons die Möglichkeit geben, das Versehen zu korrigieren. Gerade bei den Geräten, bei denen man leicht mal auf die "soften" Hardwarebuttons kommt, kann das sinnvoll erscheinen. Wie oft bin ich schon in irgend einem Spiel aus Versehen auf den Suche-Button gekommen... Dennoch halte ich auch für diese Fälle so eine Meldung nicht für den richtigen Ansatz. Die Lösung kann nicht sein, in den 90% der Fälle, in denen der Zurück-Button absichtlich gedrückt wird zu nerven, um die 10% der unabsichtlichen Fälle auszubügeln. Die Lösung für diese Fälle müsste meiner Ansicht nach sein, dem Anwender das Gefühl zu geben, dass sein Versehen nichts macht. Er beendet die App versehentlich, korrigiert sein Versehen indem er die App neu startet und trotzdem ist nichts verloren gegangen. In einer guten App kann der Anwender nichts falsch und keine Fehler machen.
Sorry für den philosophischen Erguss - war mir gerade ein Anliegen ;)
[EDIT]
Kleiner Nachtrag zu deiner Lösung: die fängt ja nur den Fall ab, dass der Anwender die App durch Drücken des Zurück-Buttons "beendet". Ein mal mehr mein eigenes Verhalten: In der Regel "verlasse" ich Apps durch Drücken auf den Windows-Button - in diesem Fall würde die Meldung nicht erscheinen.
[/EDIT]
AW: C# - App schließen -> Bestätigung
Zitat:
Zitat von
leitning
Das ist bei deiner Frage meiner Meinung nach der entscheidende Punkt. So eine Bestätigung ist für Apps bei Windows Phone nicht vorgesehen und davon abgesehen unnötig. Ich persönlich finde so eine Bestätigung (auch in der ansonsten sehr geliebten PocketPC.ch App) nervig. Ich schätze mal, dass es den meisten so geht.
Interessant wäre vielleicht, warum man so eine Meldung einbauen wollen würde. Ich kann mir hier nur zwei Beweggründe vorstellen:
- Man möchte den Anwender motivieren, doch in der App zu bleiben. Ich kann mir (wieder von meinem eigenen Verhalten aus verallgemeinert) nicht vorstellen, dass das funktioniert. Noch nie habe ich beispielsweise bei der Meldung der PocketPC.ch App auf "Abbrechen" gedrückt. Ich kann mir einfach nicht vorstellen, dass es jemanden gibt, der sich bei der Meldung denkt: "Ach, gerade wollte ich die App noch beenden aber jetzt, wo ich die Meldung sehe, überlege ich es mir anders".
- Man möchte dem Anwender bei einem versehentlichen Drücken des Zurück-Buttons die Möglichkeit geben, das Versehen zu korrigieren. Gerade bei den Geräten, bei denen man leicht mal auf die "soften" Hardwarebuttons kommt, kann das sinnvoll erscheinen. Wie oft bin ich schon in irgend einem Spiel aus Versehen auf den Suche-Button gekommen... Dennoch halte ich auch für diese Fälle so eine Meldung nicht für den richtigen Ansatz. Die Lösung kann nicht sein, in den 90% der Fälle, in denen der Zurück-Button absichtlich gedrückt wird zu nerven, um die 10% der unabsichtlichen Fälle auszubügeln. Die Lösung für diese Fälle müsste meiner Ansicht nach sein, dem Anwender das Gefühl zu geben, dass sein Versehen nichts macht. Er beendet die App versehentlich, korrigiert sein Versehen indem er die App neu startet und trotzdem ist nichts verloren gegangen. In einer guten App kann der Anwender nichts falsch und keine Fehler machen.
Sorry für den philosophischen Erguss - war mir gerade ein Anliegen ;)
[EDIT]
Kleiner Nachtrag zu deiner Lösung: die fängt ja nur den Fall ab, dass der Anwender die App durch Drücken des Zurück-Buttons "beendet". Ein mal mehr mein eigenes Verhalten: In der Regel "verlasse" ich Apps durch Drücken auf den Windows-Button - in diesem Fall würde die Meldung nicht erscheinen.
[/EDIT]
habe schon lange nicht mehr in diesem thread reingeschaut! :p
in meinem fall ging es um eine app, bei der ich verhindern wollte, dass ich den zurückbutton ausversehen drücke. ich habe die app auch als einziger auf meinem handy gehabt und somit auch nur zu privaten zwecken genutzt und nie veröffentlicht. manchmal saß ich c.a. 20 minuten an der app und da wäre es schon sehr frustrierend, wenn ich mal den zurückbutton gedrückt hätte und dann alles wieder von vorne machen müsste. :(
nun ja, wenn du näheres aus reinem interesse wissen willst, kann ich dir per pn bescheid sagen, was ich
genau programmiert habe!
PS: mir passiert es schon oft, dass ich den zurückbutton auf meinem mozart drücke.