ControlPaint.DrawReversibleLine(Point, Point, Color) Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee tekent u een omkeerbare lijn op het scherm binnen de opgegeven begin- en eindpunten en met de opgegeven achtergrondkleur.
public:
static void DrawReversibleLine(System::Drawing::Point start, System::Drawing::Point end, System::Drawing::Color backColor);
public static void DrawReversibleLine(System.Drawing.Point start, System.Drawing.Point end, System.Drawing.Color backColor);
static member DrawReversibleLine : System.Drawing.Point * System.Drawing.Point * System.Drawing.Color -> unit
Public Shared Sub DrawReversibleLine (start As Point, end As Point, backColor As Color)
Parameters
Voorbeelden
In het volgende codevoorbeeld ziet u hoe u de ControlPaint.DrawReversibleLine en Control.PointToScreen methoden gebruikt. Als u het voorbeeld wilt uitvoeren, plakt u de volgende code in een formulier. Voeg een knop toe met de naam Button3 van het formulier en zorg ervoor dat alle gebeurtenissen zijn verbonden met hun gebeurtenis-handlers.
// When the mouse hovers over Button3, two reversible lines are
// drawn using the corner coordinates of Button3, which are first
// converted to screen coordinates.
void Button3_MouseHover( Object^ /*sender*/, System::EventArgs^ /*e*/ )
{
ControlPaint::DrawReversibleLine( Button3->PointToScreen( Point(0,0) ), Button3->PointToScreen( Point(Button3->ClientRectangle.Right,Button3->ClientRectangle.Bottom) ), SystemColors::Control );
ControlPaint::DrawReversibleLine( Button3->PointToScreen( Point(Button3->ClientRectangle.Right,Button3->ClientRectangle.Top) ), Button3->PointToScreen( Point(Button1->ClientRectangle.Left,Button3->ClientRectangle.Bottom) ), SystemColors::Control );
}
// When the mouse moves from Button3, the reversible lines are erased by
// using the same coordinates as are used in the Button3_MouseHover method.
void Button3_MouseLeave( Object^ /*sender*/, System::EventArgs^ /*e*/ )
{
ControlPaint::DrawReversibleLine( Button3->PointToScreen( Point(0,0) ), Button3->PointToScreen( Point(Button3->ClientRectangle.Right,Button3->ClientRectangle.Bottom) ), SystemColors::Control );
ControlPaint::DrawReversibleLine( Button3->PointToScreen( Point(Button3->ClientRectangle.Right,Button3->ClientRectangle.Top) ), Button3->PointToScreen( Point(Button3->ClientRectangle.Left,Button3->ClientRectangle.Bottom) ), SystemColors::Control );
}
// When the mouse hovers over Button3, two reversible lines are
// drawn using the corner coordinates of Button3, which are first
// converted to screen coordinates.
private void Button3_MouseHover(object sender, System.EventArgs e)
{
ControlPaint.DrawReversibleLine(Button3.PointToScreen(
new Point(0, 0)), Button3.PointToScreen(
new Point(Button3.ClientRectangle.Right,
Button3.ClientRectangle.Bottom)), SystemColors.Control);
ControlPaint.DrawReversibleLine(Button3.PointToScreen(
new Point(Button3.ClientRectangle.Right,
Button3.ClientRectangle.Top)),
Button3.PointToScreen(new Point(Button1.ClientRectangle.Left,
Button3.ClientRectangle.Bottom)), SystemColors.Control);
}
// When the mouse moves from Button3, the reversible lines are erased by
// using the same coordinates as are used in the Button3_MouseHover method.
private void Button3_MouseLeave(object sender, System.EventArgs e)
{
ControlPaint.DrawReversibleLine(Button3.PointToScreen(
new Point(0, 0)), Button3.PointToScreen(
new Point(Button3.ClientRectangle.Right,
Button3.ClientRectangle.Bottom)), SystemColors.Control);
ControlPaint.DrawReversibleLine(Button3.PointToScreen(
new Point(Button3.ClientRectangle.Right,
Button3.ClientRectangle.Top)),
Button3.PointToScreen(new Point(Button3.ClientRectangle.Left,
Button3.ClientRectangle.Bottom)), SystemColors.Control);
}
' When the mouse hovers over Button3, two reversible lines are drawn
' using the corner coordinates of Button3, which are first
' converted to screen coordinates.
Private Sub Button3_MouseHover(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles Button3.MouseHover
ControlPaint.DrawReversibleLine(Button3.PointToScreen(New Point(0, 0)), _
Button3.PointToScreen(New Point(Button3.ClientRectangle.Right, _
Button3.ClientRectangle.Bottom)), SystemColors.Control)
ControlPaint.DrawReversibleLine(Button3.PointToScreen( _
New Point(Button3.ClientRectangle.Right, Button3.ClientRectangle.Top)), _
Button3.PointToScreen(New Point _
(Button1.ClientRectangle.Left, Button3.ClientRectangle.Bottom)), _
SystemColors.Control)
End Sub
' When the mouse moves from Button3, the reversible lines are
' erased by using the same coordinates as are used in the
' Button3_MouseHover method.
Private Sub Button3_MouseLeave(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles Button3.MouseLeave
ControlPaint.DrawReversibleLine(Button3.PointToScreen(New Point(0, 0)), _
Button3.PointToScreen(New Point(Button3.ClientRectangle.Right, _
Button3.ClientRectangle.Bottom)), SystemColors.Control)
ControlPaint.DrawReversibleLine(Button3.PointToScreen( _
New Point(Button3.ClientRectangle.Right, Button3.ClientRectangle.Top)), _
Button3.PointToScreen(New Point(Button3.ClientRectangle.Left, _
Button3.ClientRectangle.Bottom)), SystemColors.Control)
End Sub
Opmerkingen
De backColor parameter wordt gebruikt om de opvulkleur van de lijn te berekenen, zodat deze altijd zichtbaar is op de achtergrond.
De resultaten van deze methode kunnen opnieuw worden omgekeerd door dezelfde lijn te tekenen. Het tekenen van een lijn met deze methode is vergelijkbaar met het omkeren van een gebied van het scherm, behalve dat het betere prestaties biedt voor een breder scala aan kleuren.