C# Can';t在C中异步运行方法#

C# Can';t在C中异步运行方法#,c#,asynchronous,methods,mappoint,C#,Asynchronous,Methods,Mappoint,我有以下代码: public partial class Main : Form { private delegate void LoadMapPointRegion(); private LoadMapPointRegion lmprd; private MapPoint.Application mpApp; private MapPoint.Map mpMap; public Main() { InitializeComponent(); lmprd = new Load

我有以下代码:

public partial class Main : Form
{
private delegate void LoadMapPointRegion();

private LoadMapPointRegion lmprd;
private MapPoint.Application mpApp;
private MapPoint.Map mpMap;
public Main()
{
    InitializeComponent();

    lmprd = new LoadMapPointRegion(mpControl_LoadRegion);
    lmprd.BeginInvoke(new AsyncCallback(mpControl_RegionLoaded), null);
}

private void mpControl_LoadRegion()
{
    mpControl.NewMap(MapPoint.GeoMapRegion.geoMapNorthAmerica);
    mpMap = mpControl.ActiveMap;
    mpApp = mpMap.Application;
}

private void mpControl_RegionLoaded(IAsyncResult iar)
{
    MessageBox.Show("MapPoint loaded async: " + iar.CompletedSynchronously.ToString());
}
}
这应该在
mpControl\u LoadRegion
运行时加载表单并启用与表单的交互。 加载贴图点区域需要5到10秒,这就是我异步加载贴图点区域的原因

但是,
iar.CompletedSynchronously
始终为false


我缺少什么?

指示操作是同步完成的,而不是异步完成的。这并不意味着操作根本没有完成。

指示操作是同步完成的,而不是异步完成的。这并不意味着操作根本没有完成。

+1完全正确;换句话说,你是异步的,这意味着不是同步的,所以这是错误的;换句话说,你是异步的,这意味着不是同步的,所以这是错误的