|
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.
Copy Code
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); } }