ControlPaint.DrawReversibleLine(Point, Point, Color) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Disegna una linea reversibile sullo schermo all'interno dei punti iniziale e finale specificati e con il colore di sfondo specificato.
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)
Parametri
Esempio
Nell'esempio di codice seguente viene illustrato l'uso dei ControlPaint.DrawReversibleLine metodi e Control.PointToScreen . Per eseguire l'esempio, incollare il codice seguente in un modulo. Aggiungere un pulsante denominato Button3
al modulo e assicurarsi che tutti gli eventi siano connessi ai gestori eventi.
// 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
Commenti
Il backColor
parametro viene usato per calcolare il colore di riempimento della linea in modo che sia sempre visibile sullo sfondo.
I risultati di questo metodo possono essere invertiti disegnando di nuovo la stessa linea. Il disegno di una linea con questo metodo è simile all'inversione di un'area dello schermo, ad eccezione del fatto che offre prestazioni migliori per una varietà di colori più ampia.