Shape.PointToClient - метод
Вычисляет местоположение указанной точки экрана в клиентских координатах.
Пространство имен: Microsoft.VisualBasic.PowerPacks
Сборка: Microsoft.VisualBasic.PowerPacks.Vs (в Microsoft.VisualBasic.PowerPacks.Vs.dll)
Синтаксис
'Декларация
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
Параметры
- position
Тип: System.Drawing.Point
Возвращаемое значение
Тип: System.Drawing.Point
Объект Point, представляющий преобразованный объект Point, p, в клиентских координатах.
Заметки
PointToClient метод можно использовать для преобразования значения в виде a DragEventArgs возвращает координаты экрана, что в клиентских координат формы.
Примеры
В следующем примере демонстрируется использование PointToClient метод, чтобы переместить a RectangleShape при удалении файл изображения на него.PointToClient метод перемещает RectangleShape по отношению к форме клиента.Например, если расположение удаления 10 пикселей вниз и 10 точек справа от верхнего левого угла прямоугольника, прямоугольник будет перемещен до точки местоположения 10 и 10 пикселей вниз справа от верхнего левого угла формы.
В этом примере необходима a RectangleShape наблюдение за RectangleShape1 с именем в форме и этом AllowDrop форме назначается свойство 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
- Полное доверие для непосредственно вызывающего метода. Этот член не может быть использован частично доверенным кодом. Дополнительные сведения см. в разделе Использование библиотек из не вполне надежного кода.
См. также
Ссылки
Microsoft.VisualBasic.PowerPacks - пространство имен
Другие ресурсы
Пошаговое руководство. Изображение линий при помощи элемента управления LineShape (Visual Studio)
Знакомство с элементами управления Line и Shape (Visual Studio)