как добавить кнопку arcgis в форму windows

Я новичок в ArcGis. Я столкнулся с требованием, что мне нужна команда на панели инструментов ArcGis. При щелчке по команде открывается форма Windows, и там есть одна кнопка выбора региона. при нажатии на кнопку текущий пользовательский интерфейс формы должен быть свернут, и пользователю будет разрешено рисовать многоугольник. Не могли бы вы помочь, как это сделать. Вот код. Я взял обычную кнопку Windows и написал приведенный ниже код в событии щелчка.

        _application = ((IApplication)_hookHelper.Hook);
        IMxDocument pMxDoc = (IMxDocument)_application.Document;
        IMap pMap = (IMap)pMxDoc.FocusMap;

        IActiveView pActiveView = (IActiveView)pMap;

        if (pActiveView == null)
        {
            return;
        }

        //// Changing the state of the Window.
        if (this.WindowState == FormWindowState.Normal || this.WindowState == FormWindowState.Maximized)
        {
            this.WindowState = FormWindowState.Minimized;
            // this.Hide();
        }

        ESRI.ArcGIS.Display.IScreenDisplay screenDisplay = pActiveView.ScreenDisplay;
        // Constant
        screenDisplay.StartDrawing(screenDisplay.hDC, (System.Int16)ESRI.ArcGIS.Display.esriScreenCache.esriNoScreenCache); // Explicit Cast

        ESRI.ArcGIS.Display.IRgbColor rgbColor = new ESRI.ArcGIS.Display.RgbColorClass();
        rgbColor.Blue = 111;

        ESRI.ArcGIS.Display.IColor color = rgbColor; // Implicit Cast
        ESRI.ArcGIS.Display.ISimpleFillSymbol simpleFillSymbol = new ESRI.ArcGIS.Display.SimpleFillSymbolClass();
        simpleFillSymbol.Color = color;

        ESRI.ArcGIS.Display.ISymbol symbol = simpleFillSymbol as ESRI.ArcGIS.Display.ISymbol; // Dynamic Cast
        ESRI.ArcGIS.Display.IRubberBand rubberBand = new ESRI.ArcGIS.Display.RubberRectangularPolygonClass();
        // ESRI.ArcGIS.Display.IRubberBand rubberBand = new ESRI.ArcGIS.Display.RubberPolygonClass();
        ESRI.ArcGIS.Geometry.IGeometry geometry = rubberBand.TrackNew(screenDisplay, symbol);
        screenDisplay.SetSymbol(symbol);
        screenDisplay.DrawPolygon(geometry);
        screenDisplay.FinishDrawing();

Я также не получаю никаких событий мыши, и пользовательский интерфейс не сворачивается при начале рисования многоугольника. Кто-нибудь может помочь.


person Anirban Roy    schedule 27.09.2016    source источник


Ответы (1)


Мы проверили технический документ по SDK среды выполнения ArcGIS для .Net?

http://resources.arcgis.com/en/help/runtime-wpf/concepts/index.html#/Essential_vocabulary/01700000004z000000/

person Teng Ma    schedule 03.10.2016