Freigeben über


ControlPaint.FillReversibleRectangle-Methode

Zeichnet ein ausgefülltes umkehrbares Rechteck auf dem Bildschirm.

Namespace: System.Windows.Forms
Assembly: System.Windows.Forms (in system.windows.forms.dll)

Syntax

'Declaration
Public Shared Sub FillReversibleRectangle ( _
    rectangle As Rectangle, _
    backColor As Color _
)
'Usage
Dim rectangle As Rectangle
Dim backColor As Color

ControlPaint.FillReversibleRectangle(rectangle, backColor)
public static void FillReversibleRectangle (
    Rectangle rectangle,
    Color backColor
)
public:
static void FillReversibleRectangle (
    Rectangle rectangle, 
    Color backColor
)
public static void FillReversibleRectangle (
    Rectangle rectangle, 
    Color backColor
)
public static function FillReversibleRectangle (
    rectangle : Rectangle, 
    backColor : Color
)

Parameter

  • rectangle
    Das Rectangle, das die Abmessungen des auszufüllenden Rechtecks in Bildschirmkoordinaten darstellt.
  • backColor
    Die Color des Hintergrunds hinter der Füllung.

Hinweise

Mit dem backColor-Parameter wird die Füllfarbe des Rechtecks berechnet, sodass dieses sich immer vom Hintergrund abhebt.

Die Ergebnisse dieser Methode sind umkehrbar, indem das gleiche Rechteck erneut gezeichnet wird. Das Zeichnen eines Rechtecks mit dieser Methode ähnelt dem Umkehren eines Bildschirmbereichs, gewährleistet jedoch eine bessere Leistung bei einer höheren Anzahl von Farben.

Beispiel

Im folgenden Codebeispiel wird die Verwendung der FillReversibleRectangle-Methode veranschaulicht. Fügen Sie zum Ausführen des Beispiels den folgenden Code in ein Formular ein. Fügen Sie dem Formular eine Schaltfläche mit dem Namen Button2 hinzu, und stellen Sie sicher, dass alle Ereignisse mit den entsprechenden Ereignishandlern verbunden sind.

' When the mouse hovers over Button2, its ClientRectangle is filled.
Private Sub Button2_MouseHover(ByVal sender As Object, _
    ByVal e As System.EventArgs) Handles Button2.MouseHover

    Dim senderControl As Control = CType(sender, Control)
    Dim screenRectangle As Rectangle = _
        senderControl.RectangleToScreen(senderControl.ClientRectangle)
    ControlPaint.FillReversibleRectangle(screenRectangle, _
        senderControl.BackColor)
End Sub


' When the mouse leaves Button2, its ClientRectangle is cleared by
' calling the FillReversibleRectangle method again.
Private Sub Button2_MouseLeave(ByVal sender As Object, _
    ByVal e As System.EventArgs) Handles Button2.MouseLeave

    Dim senderControl As Control = CType(sender, Control)
    Dim screenRectangle As Rectangle = _
        senderControl.RectangleToScreen(senderControl.ClientRectangle)
    ControlPaint.FillReversibleRectangle(screenRectangle, _
        senderControl.BackColor)
End Sub
//When the mouse hovers over Button2, its ClientRectangle is filled.
private void Button2_MouseHover(object sender, System.EventArgs e)
{
    Control senderControl = (Control) sender;
    Rectangle screenRectangle = senderControl.RectangleToScreen(
        senderControl.ClientRectangle);
    ControlPaint.FillReversibleRectangle(screenRectangle, 
        senderControl.BackColor);
}

// When the mouse leaves Button2, its ClientRectangle is cleared by
// calling the FillReversibleRectangle method again.
private void Button2_MouseLeave(object sender, System.EventArgs e)
{
    Control senderControl = (Control) sender;
    Rectangle screenRectangle = senderControl.RectangleToScreen(
        senderControl.ClientRectangle);
    ControlPaint.FillReversibleRectangle(screenRectangle, 
        senderControl.BackColor);
}
//When the mouse hovers over Button2, its ClientRectangle is filled.
void Button2_MouseHover( Object^ sender, System::EventArgs^ /*e*/ )
{
   Control^ senderControl = dynamic_cast<Control^>(sender);
   Rectangle screenRectangle = senderControl->RectangleToScreen( senderControl->ClientRectangle );
   ControlPaint::FillReversibleRectangle( screenRectangle, senderControl->BackColor );
}

// When the mouse leaves Button2, its ClientRectangle is cleared by
// calling the FillReversibleRectangle method again.
void Button2_MouseLeave( Object^ sender, System::EventArgs^ /*e*/ )
{
   Control^ senderControl = dynamic_cast<Control^>(sender);
   Rectangle screenRectangle = senderControl->RectangleToScreen( senderControl->ClientRectangle );
   ControlPaint::FillReversibleRectangle( screenRectangle, senderControl->BackColor );
}
//When the mouse hovers over button2, its ClientRectangle is filled.
private void button2_MouseHover(Object sender, System.EventArgs e)
{
    Control senderControl = (Control)sender;
    Rectangle screenRectangle = senderControl.RectangleToScreen(
        senderControl.get_ClientRectangle());
    ControlPaint.FillReversibleRectangle(screenRectangle, 
        senderControl.get_BackColor());
} //button2_MouseHover

// When the mouse leaves button2, its ClientRectangle is cleared by
// calling the FillReversibleRectangle method again.
private void button2_MouseLeave(Object sender, System.EventArgs e)
{
    Control senderControl = (Control)sender;
    Rectangle screenRectangle = senderControl.RectangleToScreen(
        senderControl.get_ClientRectangle());
    ControlPaint.FillReversibleRectangle(screenRectangle, 
        senderControl.get_BackColor());
} //button2_MouseLeave

Plattformen

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

ControlPaint-Klasse
ControlPaint-Member
System.Windows.Forms-Namespace
Control.BackColor-Eigenschaft