DrawTreeNodeEventArgs.Graphics Özellik

Tanım

Graphics çizmek TreeNodeiçin kullanılan nesnesini alır.

C#
public System.Drawing.Graphics Graphics { get; }

Özellik Değeri

Graphics çizmek TreeNodeiçin kullanılan .

Örnekler

Aşağıdaki kod örneği, sahip çizimini kullanarak bir TreeView denetimin nasıl özelleştirileceği gösterilmektedir. Örnekteki TreeView denetim, standart düğüm etiketlerinin yanında isteğe bağlı düğüm etiketlerini görüntüler. Düğüm etiketleri özelliği kullanılarak TreeNode.Tag belirtilir. Denetim TreeView ayrıca özel bir vurgu rengi de dahil olmak üzere özel renkler kullanır.

Renk özelliklerini ayarlayarak renklerin TreeView çoğunu özelleştirebilirsiniz, ancak seçim vurgu rengi özellik olarak kullanılamaz. Ayrıca, varsayılan seçim vurgu dikdörtgeni yalnızca bir düğüm etiketinin çevresinde genişletir. Sahip çizimi, düğüm etiketlerini çizmek ve düğüm etiketi içerecek kadar büyük özelleştirilmiş bir vurgu dikdörtgeni çizmek için kullanılmalıdır.

Örnekte, olay işleyicisi TreeView.DrawNode düğüm etiketlerini çizer ve özel seçim el ile vurgulanır. Seçilmemiş düğümlerin özelleştirmeye ihtiyacı yoktur. Bunlar için, DrawDefault işletim sistemi tarafından çizilmeleri için true özelliği olarak ayarlanır.

Tam örnek için genel bakış başvuru konusuna DrawTreeNodeEventArgs bakın.

C#
// Draws a node.
private void myTreeView_DrawNode(
    object sender, DrawTreeNodeEventArgs e)
{
    // Draw the background and node text for a selected node.
    if ((e.State & TreeNodeStates.Selected) != 0)
    {
        // Draw the background of the selected node. The NodeBounds
        // method makes the highlight rectangle large enough to
        // include the text of a node tag, if one is present.
        e.Graphics.FillRectangle(Brushes.Green, NodeBounds(e.Node));

        // Retrieve the node font. If the node font has not been set,
        // use the TreeView font.
        Font nodeFont = e.Node.NodeFont;
        if (nodeFont == null) nodeFont = ((TreeView)sender).Font;

        // Draw the node text.
        e.Graphics.DrawString(e.Node.Text, nodeFont, Brushes.White,
            Rectangle.Inflate(e.Bounds, 2, 0));
    }

    // Use the default background and node text.
    else 
    {
        e.DrawDefault = true;
    }

    // If a node tag is present, draw its string representation 
    // to the right of the label text.
    if (e.Node.Tag != null)
    {
        e.Graphics.DrawString(e.Node.Tag.ToString(), tagFont,
            Brushes.Yellow, e.Bounds.Right + 2, e.Bounds.Top);
    }

    // If the node has focus, draw the focus rectangle large, making
    // it large enough to include the text of the node tag, if present.
    if ((e.State & TreeNodeStates.Focused) != 0)
    {
        using (Pen focusPen = new Pen(Color.Black))
        {
            focusPen.DashStyle = System.Drawing.Drawing2D.DashStyle.Dot;
            Rectangle focusBounds = NodeBounds(e.Node);
            focusBounds.Size = new Size(focusBounds.Width - 1, 
            focusBounds.Height - 1);
            e.Graphics.DrawRectangle(focusPen, focusBounds);
        }
    }
}

Açıklamalar

sınıfı, Graphics görüntü cihazında çizim için yararlı özellikler ve yöntemler sağlar.

Şunlara uygulanır

Ürün Sürümler
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10

Ayrıca bkz.