| Class | Description |
| GoArc | An object in the shape of an elliptical curve. |
| GoBalloon | A GoBalloon is a kind of GoComment that is associated with another object. |
| GoBasicNode | A simple node with a Shape, a single Port and an optional text Label. |
| GoBoxNode | A GoBoxNode has a single rectangular port that surrounds another object, named the Body. This is most useful when that body object is basically rectangular, and when links can connect at any side, determined dynamically. |
| GoBoxPort | A rectangular port that is smart about where each of its links is connected, centered or distributed on each side, meeting the edge of the port orthogonally. |
| GoBoxPortLinkInfo | Information used when sorting the links connected at a GoBoxPort. |
| GoButton | A GoButton looks like a regular button, with a text label and/or an icon, but is composed of GoObjects so that it is very light weight and flexible. |
| GoChangedEventArgs | Holds information both for GoDocument.Changed events and for undo and redo handling in the undo manager. |
| GoCollapsibleHandle | This small rectangle is drawn with different shapes so that users can click on this to expand or collapse the IGoCollapsible parent object. |
| GoCollection | This default implementation of IGoCollection just uses a List{GoObject} . |
| GoComment | A simple group displaying text with a shadowed background. |
| GoContextMenu | GoContextMenu is just a data structure that provides an easy way to implement dynamically constructed client-side popup menus that either invoke an event handler of your GoObject class on the server or execute JavaScript on the client. |
| GoControl | This class is not used in Web Forms. |
| GoCopyDelayedsCollection | This class is used as part of a GoCopyDictionary to remember objects that were not completely copied during the first pass of the copying process in GoDocument.CopyFromCollection. |
| GoCopyDictionary | This class is used to remember the mapping of original objects to copied objects in GoDocument.CopyFromCollection. |
| GoCube | A 2-D representation of a Rectangular Prism, with the "depth" dimension controlled by an additional GoHandle. |
| GoCylinder | A 2-D representation of a cylinder, with the radius or perspective "pitch" controlled by an additional GoHandle. |
| GoDiamond | An object in the shape of a diamond or rhombus whose corners are at the midpoints of the bounding rectangle's edges. |
| GoDocument | This class represents a model for a GoView, holding GoObjects to be displayed, organized into GoLayers. |
| GoDrawing | This shape holds both closed and open figures consisting of segments that are either straight lines or Bezier curves. |
| GoDrawingData | A simple class that holds both the array of bytes of GoDrawingActions and the array of PointF s describing the figures of a GoDrawing. |
| GoEllipse | An object in the shape of an ellipse or circle. |
| GoGeneralNode | A more complicated node that has an icon, optional labels at the top and bottom, and variable numbers of labeled ports on either side. |
| GoGeneralNodePort | A GoPort that is part of a GoGeneralNode. |
| GoGeneralNodePortLabel | The label for a GoGeneralNodePort. |
| GoGrid | An object that draws a set of dots, crosses, or lines in a rectangular pattern, and that can affect how objects are moved, copied, and resized. |
| GoGroup | Groups are a way of treating a collection of GoObject instances as a single object. |
| GoHandle | This class is used to show that a document object is selected by decorating the object with handles that are added to a view layer. |
| GoHexagon | An object with six sides which has one pair of parallel sides. |
| GoIconicNode | A node with an image for an icon, a label, and a single port centered on the image. |
| GoImage | An object that displays a image such as a bitmap or JPEG file. |
| GoInputEventArgs | Holds information for unified input events for views, for both keyboard input and mouse input, including mouse button and mouse wheel and drag-and-drop mouse actions, where no GoObject is involved. |
| GoLabeledLink | This class provides a standard implementation of IGoLink as a GoObject with several other decoration objects. |
| GoLayer | This represents a collection of objects that are to be drawn behind or in front of objects in other layers. |
| GoLayerCollection | An ordered collection of layers. |
| GoLink | This class provides a standard implementation of IGoLink as a GoObject. |
| GoListGroup | This group arranges its children vertically or horizontally, aligned within the rectangular bounds, optionally spaced with lines drawn between the objects, bordered, and with a background. |
| GoMenu | The abstract class from which both GoContextMenu and GoMenuItem derive. |
| GoMenu.MenuItemCollection | This nested class implements a list of items held by a GoMenu. |
| GoMenuItem | GoMenuItem describes an item in a GoContextMenu that is constructed on the client and can either invoke a GoObject method on the server or can execute JavaScript on the client. |
| GoMultiTextNode | The GoMultiTextNode class displays a number of text objects vertically using a GoListGroup, and associates ports on each side of each text object, plus a port at the top and one at the bottom of the node. |
| GoNode | This class provides the standard implementation of IGoNode as a GoObject. |
| GoNodeIcon | A GoImage whose GoObject.Bounds and resizing are constrained by its parent's implementation of IGoNodeIconConstraint. |
| GoObject | The GoObject abstract class represents graphical objects that can be added to GoDocuments to be displayed by GoViews. |
| GoObjectEnterLeaveEventArgs | Holds information for the GoView event GoView.ObjectEnterLeave that occurs when a mouse moves onto or out of a GoObject. |
| GoObjectEventArgs | Holds information for the GoView events involving both a GoObject and some input event. |
| GoOctagon | An object with eight sides which is kept convex and symmetrical in relation to its X and Y axis |
| GoOverview | Provide a reduced-scale view of a document, showing the size and position of another view's viewport onto that same document, and support panning and zooming of that observed view. |
| GoOverviewRectangle | This class implements the rectangle shown and dragged around in the overview window. It is also responsible for keeping track of changes to the view, so that it can resize itself. |
| GoPalette | A palette is a view holding a number of objects in a grid that the user can drag into another document. |
| GoParallelogram | An object in the shape of a parallelogram. |
| GoPartInfo | This class holds information to be transmitted to the client as a JavaScript object with property values, describing some GoObject. |
| GoPie | An object in the shape of a section or "slice" of an ellipse. |
| GoPolygon | A shape whose number, style, and location of sides can be specified. |
| GoPort | This class provides the standard implementation of IGoPort as a GoObject. |
| GoPrintView | This ASP.NET WebControl renders as multiple large images so that the user's browser can print a whole diagram. |
| GoRectangle | An object in the shape of a rectangle or square, whose corners are at the corners of the bounding rectangle. |
| GoRoundedRectangle | An object in the shape of a rectangle or square, whose corners are quarter ellipses at the corners of the bounding rectangle. |
| GoSelection | The selection is a collection of GoObjects that the user can manipulate in a GoView. |
| GoSelectionEventArgs | Holds information for the GoView events that involve a GoObject but are not associated with any input event. |
| GoShape | An abstract geometrical shape that uses an optional Pen to draw an outline and an optional Brush to fill the outline. |
| GoSheet | This class is an object that represents a sheet of paper, normally only used as a background GoView.Sheet in a GoView. |
| GoSimpleNode | A node with a resizable icon, a label, and a port on each side. |
| GoStroke | An unfilled shape composed of lines or curves whose number and location can be specified. |
| GoSubGraph | A GoSubGraph is a GoNode that supports having a graph inside of it that the user can edit, and that the user can collapse and expand. |
| GoSubGraphBase | Node classes that expect to hold nodes and links should inherit from this class. |
| GoSubGraphHandle | This small rectangle is normally the GoSubGraph's GoSubGraph.Handle and handles single clicks to collapse and expand the subgraph. |
| GoText | An object that displays a text string. |
| GoTextNode | A node displaying a string with a background and four ports, one at the middle of each side. |
| GoTool | This abstract class provides the base for all of the predefined tools. |
| GoToolAction | This modeless tool is used to handle objects like buttons or knobs that implement the IGoActionObject interface. |
| GoToolContext | The "mode-less" tool used to handle the user's mouse click to invoke a context menu. |
| GoToolCreating | This tool allows the user to add a copy of an object to the document by dragging in the background where and how large it should be. |
| GoToolDragging | The tool used to implement dragging behavior, for moving and copying objects. |
| GoToolLinking | The tool used to implement the user's drawing a new link or reconnecting an existing link. |
| GoToolLinkingNew | The tool used to handle a user's drawing a new link between two ports. |
| GoToolManager | The tool, normally the default tool for a view, used to handle input and decide if any other tools would be appropriate as the view's current tool. |
| GoToolPanning | This tool supports both automatic and manual panning in a view. |
| GoToolRelinking | The tool used to handle the user's dragging one end of a link in order to connect it up to another port. |
| GoToolResizing | The tool used to handle the user's resize operation. |
| GoToolRubberBanding | The tool used to handle a user's background drag to do a multiple selection. |
| GoToolSelecting | This tool, normally the last tool considered by the tool manager, handles a possible change of selection by the user. |
| GoToolZooming | This tool handles a user's drag in the background to draw a rubber-band box to specify a new document position and scale for a view. |
| GoTrapezoid | A four-sided figure in which two of the sides run parrallel and the others do not. |
| GoTriangle | A shape with three straight sides. |
| GoUndoManager | The GoUndoManager class observes and records document changes and supports undo and redo operations. |
| GoUndoManagerCompoundEdit | This class is used to hold a list of GoChangedEventArgs that should be undone or redone altogether. |
| GoView | GoView is a Control that provides display and editing of abstract graphs or networks of 2D graphical objects. |
| GoViewDataRenderer | This class is responsible for generating JavaScript code that defines auxiliary data for a particular GoView that is used by client-side code to handle events without having to do round-trips to the web server. |
| GoWebImage | Produces an image displaying the current state of a GoView. |
| GoWebImageHandler | Produces an image displaying the current state of a GoView. |
| MenuItem | MenuItem describes an item in a GoContextMenu that is constructed on the client and can either invoke a GoObject method on the server or can execute JavaScript on the client. |