Toon posts:

[C#] Enable timer op form1 vanuit form2...

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo,

Ik ben sinds kort bezig met CSharp en heb een vraagje waarop ik na vele dagen zoekwerk op het internet nog geen antwoord gevonden heb. Dit kan uiteraard aan mijn zoekcapaciteiten liggen ;)

Ik wil een timer die op het ene form staat activeren vanuit het andere form, maar kom er niet achter hoe. Ook het starten van functies (public voids) op het ene form vanaf het andere form lukt me niet.

Kan iemand mij één van deze dingen, of beide, uitleggen? Bij voorbaat dank!

Groet,
Reinder.

  • CyberThijs
  • Registratie: Maart 2004
  • Laatst online: 08:10
Ik praat hier vanuit m'n VB.NET kennis, maar 'k geloof wel dat dat hetzelfde is ongeveer

Om de timer te kunnen activeren moet je de instantie van de form waarin je de timer wil activeren gedeclareerd hebben. Vanuit je titel denk ik te kunnen afleiden dat form1 de parent is van form2, dus dan doe je volgende:
* Bij de declaratie van form2 geef je de instantie van form1 mee die de form2 maakte:
code:
1
2
3
4
5
6
7
8
9
Public Class form1
  Public WithEvents oTimer As New Timer(1000)

  Private Sub Button1_Click()
    Dim _frmTest As form2 = New form2(Me)
    _frmTest.show()
  End Sub

End Class

* en in de sub New() wordt de instantie van form1 dan opgeslaan in een variabele:
code:
1
2
3
4
5
6
7
8
9
10
Public Class form2
  Private _frmMain as form1

  Public Sub New(Byval frmTemp As form1)
    _frmMain = frmTemp

  _frmMain.oTimer.Start()
  End Sub

End Class


En zo kan je dan de timer aanroepen in form1 :)

Verwijderd

Topicstarter
Het kan 'm uiteraard aan mij liggen, maar ik krijg 't zo niet voor elkaar.

Ik had een foutje gemaakt, het werkt zo wel :) Tnx!

[ Voor 17% gewijzigd door Verwijderd op 14-04-2005 21:45 ]