ControlPaint.FillReversibleRectangle(Rectangle, Color) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Рисует закрашенный, двусторонний прямоугольник на экране.
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)
Параметры
- rectangle
- Rectangle
Rectangle, который представляет размеры закрашиваемого прямоугольника в координатах экрана.
Примеры
В следующем примере кода показано использование FillReversibleRectangle метода . Чтобы запустить пример, вставьте следующий код в форму. Добавьте в форму кнопку с именем Button2
и убедитесь, что все события подключены к их обработчикам событий.
//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
Комментарии
Параметр backColor
используется для вычисления цвета заливки прямоугольника, чтобы он всегда был виден на фоне.
Результаты этого метода можно обратить вспять, нарисовав тот же прямоугольник снова. Рисование прямоугольника с помощью этого метода похоже на инвертирование области экрана, за исключением того, что он обеспечивает лучшую производительность для более широкого спектра цветов.