Click here to Skip to main content
Click here to Skip to main content

Mapview Implementation in C#

, 7 Jun 2004
Rate this:
Please Sign up or sign in to vote.
Mapview Implementation in C#


Graphic applications which make the backbone for CAD/CAM/GIS applications need to have a canvas or view control on which all the graphic elements are rendered. Any complex model in CAD/CAM/GIS applications is composed of basic graphic elements such as lines, arc, circle, ellipse, rectangles, polylines, polygons…etc.

The complex models are easily created by performing the simple operation on the graphic elements, and these basic editing features include copy, cut, paste, move, delete, scale, mirror.

Mapview is an attempt to create a C# component that can be used to create and edit the graphic elements interactively.


Mapview control is a C# component, which allows the user to create various types of vector graphical elements and which will be created and edited interactively.

To avoid this inconvenience, this implementation is logically divided to geometrical model and view. When you're editing objects inside the Mapview, geometrical model (presented in "real world" coordinates) is changing and the view (client coordinates) stays the same, and when you rescale and scroll the Mapview, the geometrical model stays unchanged.

Mapview model could have several views showing different parts of the model. All views are updated automatically when the model changes, it means that if you moving or editing shape in one of the views you will see changes in others.

Using Mapview

The sample code is having the detailed description about using the application. This is initial version of the control and some of the functionality is yet to be implemented.

The initial upload is having a blue-print of the functionality of the program and most of the features are in there basic and advanced implementation state.

Creating the graphic elements is in advanced state of implementation. Spline/Curve/Closed Curve is yet to be implemented.

Different ways of selecting the already existing objects is implemented.

Moving/Deleting the selected elements is implemented.

Copy/Cut/Past is yet to be implemented.

View commands like Zoom In, Zoom Out, Zoom Window, Zoom Extents and Pan are to fine tuned and fix the bugs.

Using the code

The sample code is having the detailed description about using the application. This is initial version of the control and some of the functionality is yet to be implemented.

Enthusiastic users are encouraged to take the code implement/modify/fine tune the code wherever required.

Points of Interest

I would like to make an efficient FREE CAD/GIS graphic engine in .NET using C#. So, that the users need not depend on the proprietary software's to make the applications. This is the first step in that direction.


This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


About the Author

Kalyan Kumar

United States United States
No Biography provided

Comments and Discussions

GeneralMy vote of 1 PinmemberWertugo55525-Aug-09 23:23 
GeneralUseless PinmemberJSMeloche12-Sep-08 12:28 
GeneralPlease!Hellp! Pinmemberpl_vlad17-Feb-07 6:24 
GeneralBe nice if it compiled Pinmembermail865955-Dec-06 21:28 
QuestionMore Background on GDI+ and graphics design Pinmembermaxnetpromo7-Oct-05 23:20 
QuestionWhat does swap? PinmemberRoyaeh kohestan22-Jun-04 3:09 
AnswerRe: What does swap? PinmemberKalyan Kumar8-Jul-04 20:41 
GeneralWorking version request Pinmemberpxp7-Jun-04 16:09 
GeneralRe: Working version request Pinmemberpxp7-Jun-04 16:25 
GeneralCrap-tastic PinmemberMichael.Fischer3-Jun-04 8:13 
GeneralRe: Crap-tastic PinmemberColin Angus Mackay4-Jun-04 15:15 
GeneralRe: Crap-tastic Pinmemberjaxterama24-Aug-04 19:02 
GeneralImage SRC Incorrect PinmemberCraig Eddy3-Jun-04 2:22 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

| Advertise | Privacy | Terms of Use | Mobile
Web04 | 2.8.150326.1 | Last Updated 8 Jun 2004
Article Copyright 2004 by Kalyan Kumar
Everything else Copyright © CodeProject, 1999-2015
Layout: fixed | fluid