利用BackgroundWorker控件异步读取shp文件

在WinForm中,当执行一些耗时任务时,因响应时间较长而导致窗体假死是一种常见问题。这时我们往往会想到单独开一个线程执行任务,同时显示当前任务的执行进度。但.NET并不允许跨线程访问UI,因为UI都是创建在主线程当中的,若跨线程访问会导致不可预计的问题出现。较为常用的是利用委托,把更新UI状态的代码Invoke到主线程,这是较为常用的一种方法。除此之外,WinForm提供了一个Backgroun…