Occurs during drawing before the objects are drawn.
Syntax
Example
This example will draw a grid 100 pixels apart on the surface of the viewer before the container is drawn.
Visual Basic | Copy Code |
---|
Public theContainer As AnnContainer
Public Sub AnnContainer_BeforeDrawingObjects(ByVal container As AnnContainer)
theContainer = container
AddHandler container.BeforeDrawingObjects, AddressOf container_BeforeDrawingObjects
End Sub
Private Sub container_BeforeDrawingObjects(ByVal sender As Object, ByVal e As AnnPaintEventArgs)
Dim graphics As Graphics = e.Graphics
graphics.MultiplyTransform(theContainer.Transform)
Dim rc As AnnRectangle = theContainer.Bounds.ConvertTo(theContainer.UnitConverter, AnnUnit.Pixel)
Dim p As Pen = New Pen(Color.FromArgb(128, 255, 255, 255))
Try
Dim x As Single = rc.Left
Do While x <= rc.Right
graphics.DrawLine(p, x, 0, x, rc.Bottom)
x += 100
Loop
Dim y As Single = rc.Top
Do While y <= rc.Bottom
graphics.DrawLine(p, 0, y, rc.Right, y)
y += 100
Loop
Finally
CType(p, IDisposable).Dispose()
End Try
End Sub |
C# | Copy Code |
---|
public AnnContainer theContainer; public void AnnContainer_BeforeDrawingObjects(AnnContainer container) { // theContainer is set so that it can be accessed in the container_BeforeDrawingObjects event theContainer = container; container.BeforeDrawingObjects += new EventHandler<AnnPaintEventArgs>(container_BeforeDrawingObjects); } private void container_BeforeDrawingObjects(object sender, AnnPaintEventArgs e) { // draw a grid, 100 pixels apart Graphics graphics = e.Graphics; // set the current transform from the container graphics.MultiplyTransform(theContainer.Transform); // get the bounds in pixels AnnRectangle rc = theContainer.Bounds.ConvertTo(theContainer.UnitConverter, AnnUnit.Pixel); using (Pen p = new Pen(Color.FromArgb(128, 255, 255, 255))) { // draw the grid for (float x = rc.Left; x <= rc.Right; x += 100) graphics.DrawLine(p, x, 0, x, rc.Bottom); for (float y = rc.Top; y <= rc.Bottom; y += 100) graphics.DrawLine(p, 0, y, rc.Right, y); } } |
Remarks
Requirements
Target Platforms: Microsoft .NET Framework 3.0, Windows XP, Windows Server 2003 family, Windows Server 2008 family
See Also