次のコードがあります。
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_LoadRegion
ます。マップ ポイント領域をロードするのに 5 秒から 10 秒かかるため、非同期で実行しています。
ただしiar.CompletedSynchronously
、常に false です。
私は何が欠けていますか?