combit List & Label 30 - .NET Hilfe
combit.Reporting Namespace / DrawDesignerObjectHandler Delegate


DrawDesignerObjectHandler Delegate

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 Delegate Sub DrawDesignerObjectHandler( _
   ByVal sender As Object, _
   ByVal e As DrawDesignerObjectEventArgs _
) 
 

Parameter

sender
e
Bemerkungen

Anscheinend auf Grund einer unklaren Definition im .NET Framework müssen Sie bei der Ausgabe von Text mittels Graphics.DrawString gegebenenfalls eine manuelle Umrechnungen der Schriftgröße durchführen. Das .NET Framework scheint intern in 1/10 Inch zu rechnen. Sofern Sie in List & Label als metrische Einheit 1/10 Millimeter angegeben haben (Eigenschaft Units), müssen Sie die Größe manuell mit 2,54 multiplizieren:

...
e.Graphics.DrawString("Hello world", new Font("Arial", 20F * 2.54F), new SolidBrush(Color.Black), e.ClipRectangle);
...
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