I have a custom tool for moving features that implements IDisplayFeedback and geometry-specific CoClasses to show the user where they are moving the feature.

    IMovePolygonFeedback polygonFeedback;
    bool feedbackStarted;

    public override void OnMouseDown(int Button, int Shift, int X, int Y)
        feedbackStarted = false;


        geometry = feature.Shape;

        polygonFeedback = new MovePolygonFeedbackClass();
        polygonFeedback.Display = doc.ActiveView.ScreenDisplay;
        polygonFeedback.Start(geometry as IPolygon, doc.CurrentLocation);
        feedbackStarted = true;

    public override void OnMouseMove(int Button, int Shift, int X, int Y)
        IPoint point = doc.ActiveView.ScreenDisplay.DisplayTransformation.ToMapPoint(X, Y);
        if (polygonFeedback != null && feedbackStarted)

What sometimes happens when the mousedown and mousemove happen quickly is that the feedback display stutters for a second, leaving a (what I assume to be) graphic, then continues on with a new graphic moving around with the mouse until mouseup. Looks kinda like this:


At mouseup I change the feature shape to the new position and store the feature. I union the original feature extent with the new feature extent and pass that envelope to a partial refresh. Problem is sometimes parts of the "stutter" aren't in that envelope so I get dangly bits:


I'm trying to avoid straight refreshes but these dangly bits are not pretty and don't go away until a refresh happens (forced by user or move/pan, etc.)


  1. Does anybody know why the "stutter" is happening and how can I prevent it?
  2. Is there a way to partially refresh the dangly bits?
  3. What is the feedback? Is it a graphic? Can I trap it during the onmove to add it to the partial refresh envelope?
  4. Is there an infintely better way to do this that I'm mising?


  • 1
    D.Dillard, your symbol is correctly setted for this kind of operations? The ROP style can give glitches of this kind. Try setting it for esriRasterOpCode.esriROPNotXOrPen. – George Silva Jul 23 '11 at 18:01
  • 1
    @George, good point - I have noticed this with the Flash Geometry snippet, it leaves the outline of polygon features because they forgot to set the esriROPNotXOrPen style for the outline symbol. – blah238 Aug 12 '11 at 6:54
  • @blah238 happens to me quite often :P. remember to set the outline symbol rop! – George Silva Aug 12 '11 at 17:15

You might try calling IScreenDisplay.UpdateWindow() within your OnMouseMove method, may not work at all but it's an easy thing to try.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.