combit List & Label 30 - .NET Hilfe
combit.Reporting Namespace / DesignerObject Klasse / DrawDesignerObject Ereignis


DrawDesignerObject Ereignis

Nachdem der Benutzer das Objekt editiert hat, werden Sie von List & Label aufgefordert, das Objekt darzustellen. Es wird hierzu das Ereignis DrawDesignerObject ausgelöst. Über die Ereignisargumente erhalten Sie ein Graphics-Objekt sowie das Rechteck des Objekts. Sie können nun mit den bekannten Methoden der GDI+ im Arbeitsbereich zeichnen. Hierbei ist selbstverständlich auch der Zugriff auf die hinterlegten Objekteigenschaften möglich beziehungsweise sinnvoll. Das Beispiel zeigt die Darstellung der weiter oben ausgewählten Grafikdatei.

Syntax
'Deklaration
 
Public Event DrawDesignerObject As DrawDesignerObjectHandler
 
Ereignisdaten

Die Ereignisbehandlungsroutine erhält ein Argument vom Typ DrawDesignerObjectEventArgs, der die auf dieses Ereignis bezogenen Daten enthält. Die folgenden Eigenschaften von DrawDesignerObjectEventArgs stellen die für dieses Ereignis spezifischen Informationen bereit.

EigenschaftBeschreibung
Rechteck des Objekts.  
Graphics Objekt des Designerobjekts. Sie können mit den bekannten Methoden der GDI+ im Arbeitsbereich zeichnen.  

Liefert 'true' zurück, wenn die Ansicht im Designer auf 'Layout' oder 'Layout/Vorschau' steht. Hiermit kann man quasi steuern, dass im Design-Modus lediglich die erste Seite des Designer Objekts gezeichnet werden muss. Bei 'false' bedeutet es, dass man sich im Print-Modus befindet und entsprechend das Zeichnen über das gesamte Designer Objekt ausführen muss.

 

Hierüber wird List & Label benachrichtigt, dass keine weiteren Daten für das Designer Objekt für den Druck vorhanden sind und List & Label nicht weiter danach über DrawDesignerObject oder GetFieldHeightInformation fragt.

 
Beispiele
private void designerObject1_DrawDesignerObject(object sender, DrawDesignerObjectEventArgs e)
{
     DesignerObject desobj = (DesignerObject) sender;
     if(desobj.ObjectProperties.Contains("imagefile"))
     {
          string imagefile = desobj.ObjectProperties["imagefile"].ToString();
          e.Graphics.DrawImage(new Bitmap(imagefile), e.ClipRectangle);
     }
} 
Anforderungen

Plattformen: Windows 10 (Version 21H2 - 22H2), Windows 11 (21H2 - 23H2), Windows Server 2016 - 2022
.NET: .NET Framework 4.8, .NET 6, .NET 8, .NET 9

Siehe auch