ThinkGeo.com    |     Documentation    |     Premium Support

Removing Last vertex added using TrackInteractiveOverlay is not working

I am using the source code based off the code posted for Winform Desktop Tracking overlay, but it is not working for WPF Component (it also does not work for Winform Desktop either)


Goal: Remove last vertex (in a polygon) added using Right mouse click.


Result: Even though the first time it runs okay. However it throws ArgumentOutOfRangeException.


Please find the attached source code.



TrackOverlay.zip (24.1 KB)

Hi Anill,



We think there is a private variable which is not changed when you remove a vertex in the overridden MouseDownCore method. We have public this property just as the Desktop Edition does now and this issue can be fixed in the latest version.



Here is a new method for you  which works fine with the latest version.


private void RemoveLastVertexAdded()
        {
            int minVertex = 3;

            if (this.Vertices.Count > minVertex)
            {
                try
                {
                    Vertex lastVertex = this.Vertices[this.Vertices.Count - 2];
                    this.Vertices.Remove(lastVertex);
                    this.MouseDownCount--;
                }
                finally
                {

                }
            }
        }



Please notice that this feature will be available in any version after 4.0.135.0, but unfortunately, it will not be available in a few days because we are updating our server.



Sorry for the inconvenience and please feel free to let us know if you have any other questions.



Thanks,

Howard

 



Hi Howard,


Thanks. I got the dlls from Daily build (09/26) and it is working.


Regards,


Anil



Hi Anil, 
  
 You are welcome. Just feel free to let us know if you have any more queries. 
  
 Thanks, 
 Howard