Hallo Leute,
ich habe ein Phone-Projekt, welches mit MainPage startet, und dann von hier aus wechselweise
Page1 und Page2 aufruft.
Dabei habe ich in Page2 einen Timer, der am Anfang von Page 2 mit New erzeugt wird.
Unten seht Ihr den für den Timer zuständigen Codeteil. In diesem Fall erhöht der Timer
die Beschriftung des Buttons immer 1 - 2 - 3 usw.
Wenn ich jetzt von Page2 auf Page1 wechsle, und dann wieder Page2 aufrufe, wird diese Zeile wieder
ausgeführt und wieder ein Timer erzeugt.
Ich habe dann also schon 2 Timer, meine Sub wird dann zweimal aufgerufen.
Sehe ich auch darin, dass die Beschriftung jetzt geht 1 - 3 - 5 usw.
Beim nächsten Mal starten der Page2 habe ich dann schon 3 Timer, die Sub wird dreimal aufgerufen. Usw.
Ich suche also entweder eine Möglichkeit -
den Timer nur das erstemal zu erzeugen (so irgendwie If TmpTimer = NIL then WithEvents TmpTimer As New System.Windows.Threading.DispatcherTimer)
aber das klappt in diesem Teil des Codes nicht,
Wenn ich im Codeteil (wo ich so eine Abfrage machen könnte), versuche dies zu schreiben, kann ich zwar einen Timer erzeugen,
aber ohne dem Schlüsselwort WithEvents, und dann kann ich keinen Handler darauf erzeugen,
den Timer zum Schluss jedesmal zu zerstören, aber TmpTimer kennt kein .Dispose ?
oder in der übergeordneten MainPage den Timer zu erzeugen, nur kann ich von MainPage.TimerTick keine Sub in Page2 aufrufen ?
Irgendwie stecke ich, wahrscheinlich ist die Lösung simpel, aber ich sehe Sie nicht,
Danke Michael
ich habe ein Phone-Projekt, welches mit MainPage startet, und dann von hier aus wechselweise
Page1 und Page2 aufruft.
Dabei habe ich in Page2 einen Timer, der am Anfang von Page 2 mit New erzeugt wird.
Unten seht Ihr den für den Timer zuständigen Codeteil. In diesem Fall erhöht der Timer
die Beschriftung des Buttons immer 1 - 2 - 3 usw.
Wenn ich jetzt von Page2 auf Page1 wechsle, und dann wieder Page2 aufrufe, wird diese Zeile wieder
ausgeführt und wieder ein Timer erzeugt.
Ich habe dann also schon 2 Timer, meine Sub wird dann zweimal aufgerufen.
Sehe ich auch darin, dass die Beschriftung jetzt geht 1 - 3 - 5 usw.
Beim nächsten Mal starten der Page2 habe ich dann schon 3 Timer, die Sub wird dreimal aufgerufen. Usw.
Ich suche also entweder eine Möglichkeit -
den Timer nur das erstemal zu erzeugen (so irgendwie If TmpTimer = NIL then WithEvents TmpTimer As New System.Windows.Threading.DispatcherTimer)
aber das klappt in diesem Teil des Codes nicht,
Wenn ich im Codeteil (wo ich so eine Abfrage machen könnte), versuche dies zu schreiben, kann ich zwar einen Timer erzeugen,
aber ohne dem Schlüsselwort WithEvents, und dann kann ich keinen Handler darauf erzeugen,
den Timer zum Schluss jedesmal zu zerstören, aber TmpTimer kennt kein .Dispose ?
oder in der übergeordneten MainPage den Timer zu erzeugen, nur kann ich von MainPage.TimerTick keine Sub in Page2 aufrufen ?
Irgendwie stecke ich, wahrscheinlich ist die Lösung simpel, aber ich sehe Sie nicht,
Danke Michael
Quellcode
- Partial Public Class Page2
- Inherits PhoneApplicationPage
- WithEvents TmpTimer As New System.Windows.Threading.DispatcherTimer
- Public Sub New()
- InitializeComponent()
- TmpTimer.Interval = New TimeSpan(0, 0, 0, 0, 100)
- TmpTimer.Start()
- End Sub
- Sub TimerTick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TmpTimer.Tick
- Gem_Allgemein.TimerZaehler += 1
- Me.ButtonTimer.Content = Gem_Allgemein.TimerZaehler.ToString
- End Sub
- Private Sub Button_Click_2(sender As Object, e As RoutedEventArgs)
- Module1.AktStatus = "Page1"
- If NavigationService.CanGoBack Then NavigationService.GoBack()
- End Sub
- Protected Overrides Sub Finalize()
- MyBase.Finalize()
- End Sub
- End Class