void DisposeSearchPatternWorker ()
{
if (searchPatternWorker == null)
return;
if (searchPatternWorker.IsBusy)
searchPatternWorker.CancelAsync ();
searchPatternWorker.DoWork -= SearchPatternWorkerDoWork;
searchPatternWorker.Dispose ();
searchPatternWorker = null;
}