|
using System;
using System.Windows.Forms;
namespace Common
{
class WinFormsKickstart
{
public event Action Loaded = delegate { };
Form _Form;
Timer _Timer;
public WinFormsKickstart( Form form )
{
_Form = form;
_Form.Load += StartTimer; // this reference keeps this instance alive
}
void StartTimer( object sender, EventArgs args )
{
_Timer = new Timer { Interval = 1 };
_Timer.Tick += Tick;
_Timer.Start();
}
void Tick( object sender, EventArgs args )
{
if ( _Timer == null ) return;
_Timer.Dispose();
_Timer = null;
Loaded();
_Form.Load -= StartTimer; // this instance can now be collected
}
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
I discovered C# and .NET 1.0 Beta 1 in late 2000 and loved them immediately.
I have been writing software professionally in C# ever since
In real life, I have spent 3 years travelling abroad,
I have held a UK Private Pilots Licence for 20 years,
and I am a PADI Divemaster.
I now live near idyllic Bournemouth in England.
I can work 'virtually' anywhere!