Products | Support | Email a link to this topic. | Send comments on this topic. | Back to Introduction - All Topics | Help Version 19.0.5.2
|
Leadtools.Annotations Namespace > AnnContainer Class : BeforeDrawingObjects Event |
public event EventHandler<AnnPaintEventArgs> BeforeDrawingObjects
'Declaration Public Event BeforeDrawingObjects As EventHandler(Of AnnPaintEventArgs)
'Usage Dim instance As AnnContainer Dim handler As EventHandler(Of AnnPaintEventArgs) AddHandler instance.BeforeDrawingObjects, handler
public: event EventHandler<AnnPaintEventArgs^>^ BeforeDrawingObjects
The event handler receives an argument of type AnnPaintEventArgs containing data related to this event. The following AnnPaintEventArgs properties provide information specific to this event.
Property | Description |
---|---|
Graphics | Gets the graphics used to paint. |
This example will draw a grid 100 pixels apart on the surface of the viewer before the container is drawn.
Imports Leadtools Imports Leadtools.Annotations Imports Leadtools.Codecs Imports Leadtools.WinForms Public theContainer As AnnContainer Public Sub AnnContainer_BeforeDrawingObjects(ByVal container As AnnContainer) ' theContainer is set so that it can be accessed in the container_BeforeDrawingObjects event theContainer = container AddHandler container.BeforeDrawingObjects, AddressOf container_BeforeDrawingObjects End Sub Private Sub container_BeforeDrawingObjects(ByVal sender As Object, ByVal e As AnnPaintEventArgs) ' draw a grid, 100 pixels apart Dim graphics As Graphics = e.Graphics ' set the current transform from the container graphics.MultiplyTransform(theContainer.Transform) ' get the bounds in pixels Dim rc As AnnRectangle = theContainer.Bounds.ConvertTo(theContainer.UnitConverter, AnnUnit.Pixel) Dim p As Pen = New Pen(Color.FromArgb(128, 255, 255, 255)) Try ' draw the grid 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
using Leadtools; using Leadtools.Annotations; using Leadtools.Codecs; using Leadtools.WinForms; 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); } }