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


In diesem Thema
    DrawDesignerObjectHandler Delegate
    In diesem Thema

    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 _
    ) 
    public delegate void DrawDesignerObjectHandler( 
       object sender,
       DrawDesignerObjectEventArgs e
    )
    public delegate void DrawDesignerObjectHandler( 
       Object^ sender,
       DrawDesignerObjectEventArgs^ e
    )

    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 7, .NET 8

    Siehe auch