L'idea mi è venuta usando
SWT, che ha una classe
BusyIndicator atta a "decorare" una qualsiasi
operazione con il mouse a clessidra...
Posto il codice senza formattazione, sorry...
namespace Helpers
{
public static class BusyIndicator
{
private static readonly AsyncCallback nullCallback = delegate { };
private static readonly object[] emptyArray = new object[] { };
public static void ShowWhile(Control control, ThreadStart method)
{
if (method == null)
throw new ArgumentException("Missing method definition", "method");
if (control == null)
{
method.BeginInvoke(nullCallback, emptyArray);
return;
}
control.Cursor = Cursors.WaitCursor;
MethodInvoker callback = delegate { control.Cursor = Cursors.Default; };
AsyncCallback invoke = delegate { control.Invoke(callback); };
method.BeginInvoke(invoke, emptyArray);
}
}
}
L'uso è fin troppo banale...
BusyIndicator.ShowWhile(this, delegate
{
// Do stuff
}
Critiche, suggerimenti, insulti come commenti al post, please :)
P.S: è mezz'ora che provo ad inserirlo su
CodeKeep, ma al momento di postare... RuntimeError :(
Technorati Tags:
snippet,
busyindicatorPowered by ScribeFire.