[Mono-list] Visibility of the objects
Michał Ziemski
rook at roo.k.pl
Mon May 19 09:51:12 EDT 2008
Just remove "static" attribute from OnTimerElapsed method.
Cheers!
Michał Ziemski
Panoramix pisze:
> I am doing the first steps with Mono and C #, and I stalled on a stupid
> problem.
> I implemented a timer that launches an event every X seconds.
> Now when the procedure is called I want to change a label but I can not
> because I receive this message
> "` MainWindow.label2 ': An object reference is required for the nonstatic
> field "
>
> How can I fix?
>
> // MainWindow.cs created with MonoDevelop
> // User: franaria at 11:21 15/05/2008
> //
> // To change standard headers go to Edit->Preferences->Coding->Standard
> Headers
> //
> using System;
> using System.Diagnostics;
>
> using System.IO.Ports;
>
> using System.Net;
>
> using System.Net.Sockets;
>
> using System.Threading;
> using System.Timers; //per la gestione dei timer
> using Gtk;
> using Modbus.Device;
>
> public partial class MainWindow: Gtk.Window
> {
> private static System.Timers.Timer ourTimer;
>
> public MainWindow (): base (Gtk.WindowType.Toplevel)
> {
> Build ();
> ourTimer = new System.Timers.Timer();
>
> // attach to the Elapsed event.
> ourTimer.Elapsed += new ElapsedEventHandler(OnTimerElapsed);
>
> // make our timer interval 1 second
> ourTimer.Interval = 1000;
> //Build ();
> }
>
> protected void OnDeleteEvent (object sender, DeleteEventArgs a)
> {
> Application.Quit ();
> a.RetVal = true;
> }
>
> protected virtual void Butt1Start (object sender, System.EventArgs e)
> {
> }
>
> protected virtual void OnButton2Clicked (object sender, System.EventArgs e)
> {
> if (ourTimer.Enabled == false)
> {
> ourTimer.Enabled = true ;
> button2.Label = "Starting read";
> }else
> {
> ourTimer.Enabled = false ;
> button2.Label = "Start Timed read";
> }
> }
>
> private static void OnTimerElapsed(object sender, ElapsedEventArgs e)
> {
> Console.WriteLine("Timer elapsed at: " + e.SignalTime.ToLongTimeString());
> //label2.Text = "Timer elapsed at: " + e.SignalTime.ToLongTimeString();
> <--- Problem
> //button2.Label = "Running Timed Read";
> <---
> }
>
> }
>
> Thanks to all :blush:
>
> -----
> :working:
> -----------------------------------------------------------------------------
> http://freeflow.awardspace.com http://freeflow.awardspace.com
> -----------------------------------------------------------------------------
>
>
More information about the Mono-list
mailing list