login  Naam:   Wachtwoord: 
Registreer je!
 Forum

tekstvak value wil niet aanpassen bij timerEvent (Opgelost)

Offline svm - 23/05/2010 20:27
Avatar van svmPHP ver gevorderde Ik ben zojuist begonnen met C# (eigenlijk WFP applications in Blend, maar geprogrammeerd met C#).
Hierbij wil ik een tellertje maken dat elke seconde optelt.

Ik heb de volgende code: Plaatscode: 139455
Nu gaat het om de laatste struct (timerEvent) welke dus elke seconde wordt herhaalt als er op een knop is gedrukt die startProgram activeert.
Dit gebeurt ook (hij wordt dus opgeroepen om de seconde), maar de tekst in het tekstvak elapsed past hij niet aan.

Waarschijnlijk kan hij ze niet bereiken of zo omdat ik iets verkeerd heb toegewezen, maar zoals ik al zei begin ik net met C# dus zie ik dat nog niet.

Iemand die me het antwoord kan geven?

18 antwoorden

Gesponsorde links
Offline Ultimatum - 23/05/2010 20:54
Avatar van Ultimatum PHP expert Zet op regel 75
  1. Application.DoEvents();
Offline svm - 23/05/2010 21:16 (laatste wijziging 23/05/2010 21:16)
Avatar van svm PHP ver gevorderde
Ultimatum schreef:
Zet op regel 75 [..code..]


Nope:
System.Windows.Application bevat geen definitie voor DoEvents
Offline Ultimatum - 23/05/2010 21:17
Avatar van Ultimatum PHP expert Jawel, je moet using System.Windows.Forms; gebruiken
Offline svm - 23/05/2010 21:25
Avatar van svm PHP ver gevorderde oke, maar dan kan hij Forms niet vinden.
Het type of de naam van de naamruimte Forms bestaat niet in de naamruimte System.Windows (ontbreekt er een assembly-verwijzing?)
Offline Ultimatum - 23/05/2010 22:50
Avatar van Ultimatum PHP expert Heb je hem al reference toegevoegd?
Offline svm - 23/05/2010 23:17 (laatste wijziging 23/05/2010 23:17)
Avatar van svm PHP ver gevorderde
Ultimatum schreef:
Heb je hem al reference toegevoegd?

Sorry, maar ik weet niet wat je daarmee bedoeld.
Naar het dll-bestand linken of zo? Ik weet niet welk..

Ik zei al: ik begin er net mee: ik kan websites maken en ik programmeer (oké, script ) in PHP, maar windows applications heb ik nooit gedaan.
Offline Ultimatum - 23/05/2010 23:18
Avatar van Ultimatum PHP expert Welke IDE gebruik je?
Offline svm - 23/05/2010 23:24 (laatste wijziging 23/05/2010 23:25)
Avatar van svm PHP ver gevorderde MS Blend (van Expression Studio 3) of MS Visual Studio Professional 2010: jij mag kiezen  .
Ik gebruik ze naast elkaar dus..
Offline Ultimatum - 23/05/2010 23:26
Avatar van Ultimatum PHP expert In Microsoft Visual Studio 2010:
Citaat:
To add a reference in Visual C#
1. In Solution Explorer, right-click the project node and click Add Reference.
2. In the Add Reference dialog box, select the tab indicating the type of component you want to reference.
3. Select the components you want to reference, and then click OK.


Bron: http://msdn.mic...00%29.aspx
Offline svm - 23/05/2010 23:34
Avatar van svm PHP ver gevorderde Oké, ik zie het.
Maar nu het volgende (hmm, php is minder moeilijk met fouten wat mij betreft ):

Error 1 'Application' is an ambiguous reference between 'System.Windows.Application' and 'System.Windows.Forms.Application' C:\Users\Stefan\Documents\gvss\gvss\gvss\MainWindow.xaml.cs 75 4 gvss
Error 2 'System.Windows.Application' does not contain a definition for 'DoEvents' C:\Users\Stefan\Documents\gvss\gvss\gvss\MainWindow.xaml.cs 75 16 gvss


Ik kan echter Application in Windows zelf niet vinden, maar misschien weet jij het?
Offline Ultimatum - 23/05/2010 23:48
Avatar van Ultimatum PHP expert Wat heb je bovenaan bij je usings staan? Als daar System.Windows.Application staat moet je proberen die weg te halen. Ik wil ook wel even naar je project kijken als je dit wilt sturen, zoja PM me maar even dan.
Offline svm - 24/05/2010 00:01
Avatar van svm PHP ver gevorderde Staat er niet in denk ik.
Ik heb het project voor je even online gezet, maar ik ga nu wel slapen dus lees ik het morgen pas.
Bedankt voor je hulp tot zover .

P.S.
Je vindt de link in een PM.
Offline Abbas - 24/05/2010 00:50
Avatar van Abbas Gouden medaille

Crew .NET
Gebruik eens een System.Windows.Forms.Timer in plaats van een System.Timers.Timer! Ik zie aan de usings dat je een Windows Presentation Foundation applicatie aan het maken bent en niet de gewone WinForms. Een Timers.Timer kan geen Controls aanspreken op je Form aangezien deze op een andere Thread draait. Anders moet je de link naar je project ook even naar mij doorsturen. 
Bedankt door: svm
Offline Ultimatum - 24/05/2010 13:48 (laatste wijziging 24/05/2010 13:49)
Avatar van Ultimatum PHP expert Ik heb er net weer even naar gekeken en Titjes had inderdaad gelijk. Wijzig regel 44 en 45 naar dit:
  1. System.Windows.Forms.Timer aTimer = new System.Windows.Forms.Timer();
  2. aTimer.Tick += new EventHandler(timerEvent);


En regel 60 naar:
  1. private void timerEvent(object sender, EventArgs e)


Die Application.DoEvents() heb je dan niet nodig en had ook gevonden dat hij nu WPF weggehaald is. Het enige wat je ook nog even moet doen is de start button disablen als je hebt geklikt want als je nu meerdere keren klikt gaat de tijd sneller optellen .
Offline Abbas - 24/05/2010 13:52
Avatar van Abbas Gouden medaille

Crew .NET
Tuurlijk heb ik gelijk!  Nee, ik wist dit omdat ik een gelijkaardige situatie al eens had meegemaakt bij mezelf.
Offline Ultimatum - 24/05/2010 14:14 (laatste wijziging 24/05/2010 14:14)
Avatar van Ultimatum PHP expert Hehe, ik had het gisteren al gestest en toen liep ik tegen dit probleem aan en wist niet hoe ik het moest oplossen.

Even een vraagje over WPF (omdat het topic hier toch over gaat). Ik ka de .xaml files niet openen in designer mode in Visual Studio 2008, moet ik hier iets voor installeren? Ik kon niets vinden behalve .NET Framework 4, dus die heb ik geinstalleerd maar het werkt nog steeds niet.

(PM me desnoods)
Offline svm - 24/05/2010 14:26 (laatste wijziging 24/05/2010 14:41)
Avatar van svm PHP ver gevorderde Ik zal het eens testen.

@Ultimatum
Ik gebruik dus naast visual studio ook expression studio.
Ik weet niet of je student bent, maar dan kun je het (allebei) gratis downloaden via dreamspark.com.
Ik vind het persoonlijk fijner werken dan de designer mode in visual studio.

Edit:
Heéé. Het werkt!
Thx!
Offline Abbas - 24/05/2010 14:31 (laatste wijziging 24/05/2010 14:35)
Avatar van Abbas Gouden medaille

Crew .NET
Hm, raar. Ik heb Visual Studio 2008 Professional Edition en ik kan m'n XAML bestanden wel in design mode openen. Hetgeen je kan doen is de WPF Toolkit downloaden en installeren, misschien dat dat helpt. Op zich heeft het niets met .NET 4 te maken want WPF zit in ook al in versie 3.5 van het .NET Framework. Of anders eens controleren of je Service Pack 1 voor Visual Studio hebt geïnstalleerd, mijn versie is 9.0.30729.1 SP.

Anders kan je Expression Blend gebruiken, dit is een programma uit het Expression Studio - pakket om XAML te gaan designen. Het is gemakkelijk werken hiermee en je kan heel veel instellen / designen op een gemakkelijke manier maar als je alleen maar voor kleine aanpassingen de Design View nodig hebt is Visual Studio genoeg. Link naar de trials van Expression Studio: klik.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.189s