CustomLineCap Classe

Definizione

Incapsula un limite di riga personalizzato definito dall'utente.

public ref class CustomLineCap : MarshalByRefObject, ICloneable, IDisposable
public class CustomLineCap : MarshalByRefObject, ICloneable, IDisposable
type CustomLineCap = class
    inherit MarshalByRefObject
    interface ICloneable
    interface IDisposable
Public Class CustomLineCap
Inherits MarshalByRefObject
Implements ICloneable, IDisposable
Ereditarietà
CustomLineCap
Derivato
Implementazioni

Esempio

Nell'esempio seguente viene illustrato come usare la CustomLineCap classe . Per eseguire questo esempio incollare il codice in un modulo Windows. Gestire l'evento del Paint modulo e chiamare DrawCaps dal metodo di gestione degli eventi del Paint modulo, passando e come PaintEventArgs.


protected void DrawCaps(PaintEventArgs e)
{
    GraphicsPath hPath = new GraphicsPath();

    // Create the outline for our custom end cap.
    hPath.AddLine(new Point(0, 0), new Point(0, 5));
    hPath.AddLine(new Point(0, 5), new Point(5, 1));
    hPath.AddLine(new Point(5, 1), new Point(3, 1));

    // Construct the hook-shaped end cap.
    CustomLineCap HookCap = new CustomLineCap(null, hPath);

    // Set the start cap and end cap of the HookCap to be rounded.
    HookCap.SetStrokeCaps(LineCap.Round, LineCap.Round);

    // Create a pen and set end custom start and end
    // caps to the hook cap.
    Pen customCapPen = new Pen(Color.Black, 5);
    customCapPen.CustomStartCap = HookCap;
    customCapPen.CustomEndCap = HookCap;

    // Create a second pen using the start and end caps from
    // the hook cap.
    Pen capPen = new Pen(Color.Red, 10);
    LineCap startCap;
    LineCap endCap;
    HookCap.GetStrokeCaps(out startCap, out endCap);
    capPen.StartCap = startCap;
    capPen.EndCap = endCap;

    // Create a line to draw.
    Point[] points = { new Point(100, 100), new Point(200, 50), 
        new Point(250, 300) };

    // Draw the lines.
    e.Graphics.DrawLines(capPen, points);
    e.Graphics.DrawLines(customCapPen, points);
}
Protected Sub DrawCaps(ByVal e As PaintEventArgs)
    Dim hPath As New GraphicsPath()

    ' Create the outline for our custom end cap.
    hPath.AddLine(New Point(0, 0), New Point(0, 5))
    hPath.AddLine(New Point(0, 5), New Point(5, 1))
    hPath.AddLine(New Point(5, 1), New Point(3, 1))

    ' Construct the hook-shaped end cap.
    Dim HookCap As New CustomLineCap(Nothing, hPath)

    ' Set the start cap and end cap of the HookCap to be rounded.
    HookCap.SetStrokeCaps(LineCap.Round, LineCap.Round)

    ' Create a pen and set end custom start and end
    ' caps to the hook cap.
    Dim customCapPen As New Pen(Color.Black, 5)
    customCapPen.CustomStartCap = HookCap
    customCapPen.CustomEndCap = HookCap

    ' Create a second pen using the start and end caps from
    ' the hook cap.
    Dim capPen As New Pen(Color.Red, 10)
    Dim startCap As LineCap
    Dim endCap As LineCap
    HookCap.GetStrokeCaps(startCap, endCap)
    capPen.StartCap = startCap
    capPen.EndCap = endCap

    ' Create a line to draw.
    Dim points As Point() = {New Point(100, 100), New Point(200, 50), _
        New Point(250, 300)}

    ' Draw the lines.
    e.Graphics.DrawLines(capPen, points)
    e.Graphics.DrawLines(customCapPen, points)

End Sub

Commenti

Le estremità di linea vengono utilizzate all'inizio e alle estremità di linee o curve disegnate da oggetti GDI+ Pen . GDI+ supporta diversi stili di estremità predefiniti e consente anche agli utenti di definire i propri stili di estremità. Questa classe viene usata per creare stili di estremità personalizzati.

Annotazioni

In .NET 6 e versioni successive il pacchetto System.Drawing.Common, che include questo tipo, è supportato solo nei sistemi operativi Windows. L'uso di questo tipo nelle app multipiattaforma causa avvisi in fase di compilazione ed eccezioni in fase di esecuzione. Per altre informazioni, vedere System.Drawing.Common supportato solo in Windows.

Costruttori

Nome Descrizione
CustomLineCap(GraphicsPath, GraphicsPath, LineCap, Single)

Inizializza una nuova istanza della CustomLineCap classe dall'enumerazione esistente specificata LineCap con la struttura, il riempimento e l'inset specificati.

CustomLineCap(GraphicsPath, GraphicsPath, LineCap)

Inizializza una nuova istanza della CustomLineCap classe dall'enumerazione esistente LineCap specificata con il contorno e il riempimento specificati.

CustomLineCap(GraphicsPath, GraphicsPath)

Inizializza una nuova istanza della CustomLineCap classe con il contorno e il riempimento specificati.

Proprietà

Nome Descrizione
BaseCap

Ottiene o imposta l'enumerazione su cui si basa l'oggetto LineCapCustomLineCap .

BaseInset

Ottiene o imposta la distanza tra il limite e la linea.

StrokeJoin

Ottiene o imposta l'enumerazione LineJoin che determina il modo in cui le righe che compongono questo CustomLineCap oggetto vengono unite in join.

WidthScale

Ottiene o imposta la quantità in base alla quale ridimensionare l'oggetto CustomLineCap Class rispetto alla larghezza dell'oggetto Pen .

Metodi

Nome Descrizione
Clone()

Crea una copia esatta di questo CustomLineCapoggetto .

CreateObjRef(Type)

Crea un oggetto che contiene tutte le informazioni pertinenti necessarie per generare un proxy utilizzato per comunicare con un oggetto remoto.

(Ereditato da MarshalByRefObject)
Dispose()

Rilascia tutte le risorse usate da questo CustomLineCap oggetto.

Dispose(Boolean)

Rilascia le risorse non gestite usate da CustomLineCap e, facoltativamente, rilascia le risorse gestite.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
Finalize()

Consente di tentare CustomLineCap di liberare risorse ed eseguire altre operazioni di pulizia prima che venga CustomLineCap recuperato da Garbage Collection.

GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetLifetimeService()

Recupera l'oggetto servizio di durata corrente che controlla i criteri di durata per questa istanza.

(Ereditato da MarshalByRefObject)
GetStrokeCaps(LineCap, LineCap)

Ottiene i maiuscole utilizzati per iniziare e terminare le righe che costituiscono questo limite personalizzato.

GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
InitializeLifetimeService()

Ottiene un oggetto servizio di durata per controllare i criteri di durata per questa istanza.

(Ereditato da MarshalByRefObject)
MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
MemberwiseClone(Boolean)

Crea una copia superficiale dell'oggetto corrente MarshalByRefObject .

(Ereditato da MarshalByRefObject)
SetStrokeCaps(LineCap, LineCap)

Imposta le estremità utilizzate per iniziare e terminare le righe che costituiscono questo limite personalizzato.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Si applica a