All pastes #924251 Raw Edit

Untitled

public text v1 · immutable
·published 2008-03-01 04:42 UTC
rendered paste body
in Form1:
        public Form1()
        {
            InitializeComponent();
            _myMain = new Main(this);
            _myMain.myServer.LogEvent += new EventHandler<LogEventArgs>(Form1_LogEvent);
        }

        //Handle log events
        private void Form1_LogEvent(object sender, LogEventArgs e)
        {
            //Make sure we're invoking on the right thread
            if (InvokeRequired)
            {
                //Invoke the other-thread method on the Form thread
                Invoke(new EventHandler<LogEventArgs>(Form1_LogEvent));
            }
            updateLog(e.EntryString);
        }

in Server:
        //Threading and Event
        public event EventHandler<LogEventArgs> LogEvent;
        Thread myServerThread;

        private void OnLogEvent(string entryString)
        {
            EventHandler<LogEventArgs> myHandler = LogEvent;
            if (myHandler != null)
            {
                //Throw the event
                myHandler(this, entryString);
            }
        }

in LogEventArgs:
        private readonly string _entryString;

        public LogEventArgs(string entryString)
        {
            _entryString = entryString;
        }

        public string EntryString
        {
            get { return _entryString; }
        }