Shape.PointToClient, méthode
Calcule l'emplacement du point spécifié à l'écran en coordonnées client.
Espace de noms : Microsoft.VisualBasic.PowerPacks
Assembly : Microsoft.VisualBasic.PowerPacks.Vs (dans Microsoft.VisualBasic.PowerPacks.Vs.dll)
Syntaxe
'Déclaration
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
Paramètres
- position
Type : Point
Valeur de retour
Type : Point
Point qui représente le Point converti, p, en coordonnées clientes.
Notes
Le PointToClient méthode peut être utilisée pour convertir une valeur comme un DragEventArgs qui retourne les coordonnées d'écran au client les coordonnées d'un formulaire.
Exemples
L'exemple suivant montre comment utiliser le PointToClient méthode pour passer un RectangleShape lorsqu'un fichier image est déplacé vers lui. Le PointToClient (méthode) déplace le RectangleShape par rapport à l'écran client. Par exemple, si l'emplacement cible est de 10 pixels vers le bas et 10 pixels à droite de l'angle supérieur gauche du rectangle, le rectangle est déplacé vers un pixels emplacement 10 vers le bas et 10 pixels à droite de l'angle supérieur gauche du formulaire.
Cet exemple suppose que vous disposez d'un RectangleShape RectangleShape1 contrôle sur un formulaire et que la AllowDrop du formulaire est définie sur 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;
}
}
Sécurité .NET Framework
- Confiance totale accordée à l'appelant immédiat. Ce membre ne peut pas être utilisé par du code d'un niveau de confiance partiel. Pour plus d'informations, voir Utilisation de bibliothèques à partir de code d'un niveau de confiance partiel.
Voir aussi
Référence
Microsoft.VisualBasic.PowerPacks, espace de noms
Autres ressources
Comment : dessiner des lignes avec le contrôle LineShape (Visual Studio)
Comment : dessiner des formes avec les contrôles OvalShape et RectangleShape (Visual Studio)