Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

DrawToolTipEventArgs.AssociatedControl-Eigenschaft

 

Veröffentlicht: Oktober 2016

Ruft das Steuerelement ab, für die ToolTip gezeichnet wird.

Namespace:   System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)

public Control AssociatedControl { get; }

Eigenschaftswert

Type: System.Windows.Forms.Control

Die Control zugeordnete der ToolTip beim der Draw Ereignis auftritt. Der Rückgabewert null wenn die QuickInfo keinem Steuerelement zugeordnet ist.

Da die ToolTip kann mehrere Steuerelemente über zugeordnet werden die ToolTip.SetToolTip -Methode, die AssociatedControl Eigenschaft kann verwendet werden, um festzustellen, welche die Draw Ereignis zugeordnet ist. Dies ist hilfreich, wenn Sie andere QuickInfo Anpassung basierend auf das zugeordnete Steuerelement ausführen möchten.

Im folgenden Codebeispiel wird veranschaulicht, wie zum benutzerdefinierten Zeichnen die ToolTip. Das Beispiel erstellt einen ToolTip und den drei Button Steuerelemente befindet sich auf der Form. Im Beispiel wird die OwnerDraw -Eigenschaft true und behandelt die Draw Ereignis. In der Draw -Ereignishandler der ToolTip benutzerdefinierte je nachdem welche Schaltfläche gezeichnet wird der ToolTip angezeigt wird wie durch die DrawToolTipEventArgs.AssociatedControl Eigenschaft.

Im folgenden Codebeispiel wird veranschaulicht, wie die AssociatedControl Eigenschaft. Finden Sie unter der DrawToolTipEventArgs Übersicht über die Klasse für das gesamte Codebeispiel dargestellt.

// Handles drawing the ToolTip.
private void toolTip1_Draw(System.Object sender, 
    System.Windows.Forms.DrawToolTipEventArgs e)
{
    // Draw the ToolTip differently depending on which 
    // control this ToolTip is for.
    // Draw a custom 3D border if the ToolTip is for button1.
    if (e.AssociatedControl == button1)
    {
        // Draw the standard background.
        e.DrawBackground();

        // Draw the custom border to appear 3-dimensional.
        e.Graphics.DrawLines(SystemPens.ControlLightLight, new Point[] {
            new Point (0, e.Bounds.Height - 1), 
            new Point (0, 0), 
            new Point (e.Bounds.Width - 1, 0)
        });
        e.Graphics.DrawLines(SystemPens.ControlDarkDark, new Point[] {
            new Point (0, e.Bounds.Height - 1), 
            new Point (e.Bounds.Width - 1, e.Bounds.Height - 1), 
            new Point (e.Bounds.Width - 1, 0)
        });

        // Specify custom text formatting flags.
        TextFormatFlags sf = TextFormatFlags.VerticalCenter |
                             TextFormatFlags.HorizontalCenter |
                             TextFormatFlags.NoFullWidthCharacterBreak;

        // Draw the standard text with customized formatting options.
        e.DrawText(sf);
    }
    // Draw a custom background and text if the ToolTip is for button2.
    else if (e.AssociatedControl == button2)
    {
        // Draw the custom background.
        e.Graphics.FillRectangle(SystemBrushes.ActiveCaption, e.Bounds);

        // Draw the standard border.
        e.DrawBorder();

        // Draw the custom text.
        // The using block will dispose the StringFormat automatically.
        using (StringFormat sf = new StringFormat())
        {
            sf.Alignment = StringAlignment.Center;
            sf.LineAlignment = StringAlignment.Center;
            sf.HotkeyPrefix = System.Drawing.Text.HotkeyPrefix.None;
            sf.FormatFlags = StringFormatFlags.NoWrap;
            using (Font f = new Font("Tahoma", 9))
            {
                e.Graphics.DrawString(e.ToolTipText, f, 
                    SystemBrushes.ActiveCaptionText, e.Bounds, sf);
            }
        }
    }
    // Draw the ToolTip using default values if the ToolTip is for button3.
    else if (e.AssociatedControl == button3)
    {
        e.DrawBackground();
        e.DrawBorder();
        e.DrawText();
    }
}

.NET Framework
Verfügbar seit 2.0
Zurück zum Anfang
Anzeigen: