Aracılığıyla paylaş


ControlPaint.FillReversibleRectangle(Rectangle, Color) Yöntem

Tanım

Ekrana dolu, ters çevrilebilir bir dikdörtgen çizer.

public:
 static void FillReversibleRectangle(System::Drawing::Rectangle rectangle, System::Drawing::Color backColor);
public static void FillReversibleRectangle (System.Drawing.Rectangle rectangle, System.Drawing.Color backColor);
static member FillReversibleRectangle : System.Drawing.Rectangle * System.Drawing.Color -> unit
Public Shared Sub FillReversibleRectangle (rectangle As Rectangle, backColor As Color)

Parametreler

rectangle
Rectangle

Rectangle Doldurulacak dikdörtgenin boyutlarını ekran koordinatlarında temsil eden.

backColor
Color

Dolgunun Color arkasındaki arka plan.

Örnekler

Aşağıdaki kod örneğinde yönteminin kullanılması gösterilmektedir FillReversibleRectangle . Örneği çalıştırmak için aşağıdaki kodu forma yapıştırın. Forma adlı Button2 bir düğme ekleyin ve tüm olayların olay işleyicilerine bağlı olduğundan emin olun.

//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.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.
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

Açıklamalar

backColor parametresi dikdörtgenin dolgu rengini hesaplamak için kullanılır, böylece arka planda her zaman görünür olur.

Aynı dikdörtgen yeniden çizilerek bu yöntemin sonuçları tersine çevrilebilir. Bu yöntemi kullanarak dikdörtgen çizmek, ekranın bir bölgesini tersine çevirmeye benzer, ancak daha geniş bir renk çeşitliliği için daha iyi performans sağlar.

Şunlara uygulanır

Ayrıca bkz.