Я пытаюсь создать USerControl, содержащий GMapControl. Когда я помещаю GMapControl непосредственно в форму, он работает так, как ожидалось. Однако, если я помещаю GMapControl в UserControl, а затем добавляю этот UserControl в форму, я получаю ошибки.
Например:
Мой пользовательский контроль, Map.cs:
public Map()
{
InitializeComponent();
gMapControl1.MapProvider = GMapProviders.OpenStreetMap;
gMapControl1.Position = new PointLatLng(54.6961334816182, 25.2985095977783);
gMapControl1.MinZoom = 1;
gMapControl1.MaxZoom = 24;
gMapControl1.Zoom = 9;
top = new GMapOverlay("1");
objects = new GMapOverlay("objects");
routes = new GMapOverlay("routes");
polygons = new GMapOverlay("polygons");
gMapControl1.Overlays.Add(routes);
gMapControl1.Overlays.Add(polygons);
gMapControl1.Overlays.Add(objects);
gMapControl1.Overlays.Add(top);
gMapControl1.OnMarkerClick += new MarkerClick(gMapControl1_OnMarkerClick);
gMapControl1.OnPolygonClick += new PolygonClick(gMapControl1_OnPolygonClick);
}
Затем я добавляю этот UserControl в свою форму, перетаскивая его туда. Затем я получаю исключение:
Не удалось создать компонент «Карта». Далее следует сообщение об ошибке: «System.MissingMethodException: метод не найден: «Void GMap.NET.WindowsForms.GMapControl.set_MapProvider(GMap.NET, MapProviders.GMapProvider)». в OpenStreetMapTest.Map..ctor()'
Если у меня есть тот же код, что и на карте UserControl внутри формы, то ошибок нет. Кроме того, set_MapProvider существует и работает, если я не помещаю GMapControl внутрь UserControl.
Любые идеи?