Example #1
0
        private void loadMapTh(MapInfo info)
        {
            BackgroundWorker worker = new BackgroundWorker();

            worker.WorkerSupportsCancellation = true;
            worker.WorkerReportsProgress      = true;
            worker.DoWork += (s, e) =>
            {
                try
                {
                    e.Result = loadMap(e.Argument as MapInfo);
                }
                catch (MapLoadException)
                {
                    e.Cancel = true;
                }
            };
            worker.RunWorkerCompleted += (s, e) =>
            {
                if (e.Cancelled)
                {
                    MapLoadCanceledEventHandler del = OnMapLoadCanceled;
                    if (del != null)
                    {
                        MapLoadCanceledEventArgs arg = new MapLoadCanceledEventArgs(null);
                        del(s, arg);
                    }
                }
                else
                {
                    MapLoadedEventHandler del = OnMapLoaded;
                    if (del != null)
                    {
                        MapLoadedEventArgs arg = new MapLoadedEventArgs(e.Result as Map);
                        del(s, arg);
                    }
                }
            };
            worker.RunWorkerAsync(info);
        }
Example #2
0
 private void loadMapTh(MapInfo info)
 {
     BackgroundWorker worker = new BackgroundWorker();
     worker.WorkerSupportsCancellation = true;
     worker.WorkerReportsProgress = true;
     worker.DoWork += (s, e) =>
     {
         try
         {
             e.Result = loadMap(e.Argument as MapInfo);
         }
         catch (MapLoadException)
         {
             e.Cancel = true;
         }
     };
     worker.RunWorkerCompleted += (s, e) =>
     {
         if (e.Cancelled)
         {
             MapLoadCanceledEventHandler del = OnMapLoadCanceled;
             if (del != null)
             {
                 MapLoadCanceledEventArgs arg = new MapLoadCanceledEventArgs(null);
                 del(s, arg);
             }
         }
         else
         {
             MapLoadedEventHandler del = OnMapLoaded;
             if (del != null)
             {
                 MapLoadedEventArgs arg = new MapLoadedEventArgs(e.Result as Map);
                 del(s, arg);
             }
         }
     };
     worker.RunWorkerAsync(info);
 }