Files
GpsClient/GpsTestApp/Extensions.cs

22 lines
684 B
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace GpsTestApp {
public static class Extensions {
public static void InvokeIfRequired(this Control c, Action a) {
if (c.InvokeRequired) {
c.Invoke(new MethodInvoker(() => { InvokeIfRequired(c, a); }));
return;
}
try {
if (!c.IsHandleCreated) { IntPtr i = c.Handle; } // See links above - handle is not created, will cause cross-thread exceptions
a.Invoke();
} catch (Exception ex) { }
}
}
}