Shape.PointToClient-Methode
Rechnet die Position des angegebenen Bildschirmpunkts in Clientkoordinaten um.
Namespace: Microsoft.VisualBasic.PowerPacks
Assembly: Microsoft.VisualBasic.PowerPacks.Vs (in Microsoft.VisualBasic.PowerPacks.Vs.dll)
Syntax
'Declaration
Public Function PointToClient ( _
position As Point _
) As Point
public Point PointToClient(
Point position
)
public:
Point PointToClient(
Point position
)
member PointToClient :
position:Point -> Point
public function PointToClient(
position : Point
) : Point
Parameter
- position
Typ: Point
Rückgabewert
Typ: Point
Ein Point, der den konvertierten Pointp in Clientkoordinaten darstellt.
Hinweise
Die PointToClient -Methode kann verwendet werden, um einen Wert wie z. B. ein DragEventArgs , die Koordinaten eines Formulars Bildschirmkoordinaten in den Client zurückgibt.
Beispiele
Im folgenden Beispiel wird veranschaulicht, wie Sie die PointToClient Methode zum Verschieben einer RectangleShape bei eine Bilddatei auf ihm abgelegt wird. Die PointToClient -Methode verschiebt den RectangleShape in Bezug auf das Clientformular. Z. B. wird der Ablagespeicherort 10 Pixel nach unten und 10 Pixel rechts von der linken oberen Ecke des Rechtecks ist, das Rechteck an einem Speicherort 10 Pixel nach unten und 10 Pixel rechts von der linken oberen Ecke des Formulars verschoben werden.
In diesem Beispiel benötigen Sie ein RectangleShape -Steuerelement namens RectangleShape1 in einem Formular die AllowDrop -Eigenschaft des Formulars festgelegt ist, um true.
Private Sub Form1_DragDrop(
ByVal sender As Object,
ByVal e As System.Windows.Forms.DragEventArgs
) Handles Me.DragDrop
' Determine whether the drop is within the rectangle.
If RectangleShape1.HitTest(e.X, e.Y) = True Then
' Handle file data.
If e.Data.GetDataPresent(DataFormats.FileDrop) Then
' Assign the file names to a string array, in
' case the user has selected multiple files.
Dim files As String() =
CType(e.Data.GetData(DataFormats.FileDrop), String())
Try
' Assign the first image to the BackGroundImage
' property.
RectangleShape1.BackgroundImage =
Image.FromFile(files(0))
' Set the rectangle location relative to the form.
RectangleShape1.Location =
RectangleShape1.PointToClient(New Point(e.X, e.Y))
Catch ex As Exception
MessageBox.Show(ex.Message)
Return
End Try
End If
End If
End Sub
Private Sub Form1_DragEnter(
ByVal sender As Object,
ByVal e As DragEventArgs
) Handles MyBase.DragEnter
' If the data is a file, display the copy cursor.
If e.Data.GetDataPresent(DataFormats.FileDrop) Then
e.Effect = DragDropEffects.Copy
Else
e.Effect = DragDropEffects.None
End If
End Sub
private void Form1_DragDrop(object sender, System.Windows.Forms.DragEventArgs e)
{
// Determine whether the drop is within the rectangle.
if (rectangleShape1.HitTest(e.X, e.Y)==true)
// Handle file data.
{
if (e.Data.GetDataPresent(DataFormats.FileDrop))
// Assign the file names to a string array, in
// case the user has selected multiple files.
{
string[] files = (string[]) e.Data.GetData(DataFormats.FileDrop);
try
{
// Assign the first image to the BackGroundImage
// property.
rectangleShape1.BackgroundImage = Image.FromFile(files[0]);
// Set the rectangle location relative to the form.
rectangleShape1.Location =
rectangleShape1.PointToClient(new Point(e.X, e.Y));
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
return;
}
}
}
}
private void Form1_DragEnter(object sender, DragEventArgs e)
{
// If the data is a file, display the copy cursor.
if (e.Data.GetDataPresent(DataFormats.FileDrop))
{
e.Effect = DragDropEffects.Copy;
}
else
{
e.Effect = DragDropEffects.None;
}
}
.NET Framework-Sicherheit
- Volle Vertrauenswürdigkeit für den unmittelbaren Aufrufer. Dieser Member kann von nur teilweise vertrauenswürdigem Code nicht verwendet werden. Weitere Informationen finden Sie unter Verwenden von Bibliotheken aus teilweise vertrauenswürdigem Code.
Siehe auch
Referenz
Microsoft.VisualBasic.PowerPacks-Namespace
Weitere Ressourcen
Gewusst wie: Zeichnen von Linien mit dem LineShape-Steuerelement (Visual Studio)
Einführung in das Line-Steuerelement und das Shape-Steuerelement (Visual Studio)