TransformPattern.Move(Double, Double) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Move o controle.
public:
void Move(double x, double y);
public void Move (double x, double y);
member this.Move : double * double -> unit
Public Sub Move (x As Double, y As Double)
Parâmetros
- x
- Double
Coordenadas da tela absolutas do lado esquerdo do controle.
- y
- Double
Coordenadas da tela absolutas da parte superior do controle.
Exceções
A propriedade CanMove é false.
Exemplos
No exemplo a seguir, um TransformPattern padrão de controle é obtido de um AutomationElement e posteriormente usado para mover o AutomationElement.
///--------------------------------------------------------------------
/// <summary>
/// Obtains a TransformPattern control pattern from
/// an automation element.
/// </summary>
/// <param name="targetControl">
/// The automation element of interest.
/// </param>
/// <returns>
/// A TransformPattern object.
/// </returns>
///--------------------------------------------------------------------
private TransformPattern GetTransformPattern(
AutomationElement targetControl)
{
TransformPattern transformPattern = null;
try
{
transformPattern =
targetControl.GetCurrentPattern(TransformPattern.Pattern)
as TransformPattern;
}
catch (InvalidOperationException)
{
// object doesn't support the TransformPattern control pattern
return null;
}
return transformPattern;
}
'''--------------------------------------------------------------------
''' <summary>
''' Obtains a TransformPattern control pattern from
''' an automation element.
''' </summary>
''' <param name="targetControl">
''' The automation element of interest.
''' </param>
''' <returns>
''' A TransformPattern object.
''' </returns>
'''--------------------------------------------------------------------
Private Function GetTransformPattern( _
ByVal targetControl As AutomationElement) As TransformPattern
Dim transformPattern As TransformPattern = Nothing
Try
transformPattern = DirectCast( _
targetControl.GetCurrentPattern(transformPattern.Pattern), _
TransformPattern)
Catch exc As InvalidOperationException
' object doesn't support the TransformPattern control pattern
Return Nothing
End Try
Return transformPattern
End Function 'GetTransformPattern
///--------------------------------------------------------------------
/// <summary>
/// Calls the TransformPattern.Move() method for an associated
/// automation element.
/// </summary>
/// <param name="transformPattern">
/// The TransformPattern control pattern obtained from
/// an automation element.
/// </param>
/// <param name="x">
/// The number of screen pixels to move the automation element
/// horizontally.
/// </param>
/// <param name="y">
/// The number of screen pixels to move the automation element
/// vertically.
/// </param>
///--------------------------------------------------------------------
private void MoveElement(
TransformPattern transformPattern, double x, double y)
{
try
{
if (transformPattern.Current.CanMove)
{
transformPattern.Move(x, y);
}
}
catch (InvalidOperationException)
{
// object is not able to perform the requested action
return;
}
}
'''--------------------------------------------------------------------
''' <summary>
''' Calls the TransformPattern.Move() method for an associated
''' automation element.
''' </summary>
''' <param name="transformPattern">
''' The TransformPattern control pattern obtained from
''' an automation element.
''' </param>
''' <param name="x">
''' The number of screen pixels to move the automation element
''' horizontally.
''' </param>
''' <param name="y">
''' The number of screen pixels to move the automation element
''' vertically.
''' </param>
'''--------------------------------------------------------------------
Private Sub MoveElement( _
ByVal transformPattern As TransformPattern, _
ByVal x As Double, ByVal y As Double)
Try
If transformPattern.Current.CanMove Then
transformPattern.Move(x, y)
End If
Catch exc As InvalidOperationException
' object is not able to perform the requested action
Return
End Try
End Sub
Comentários
Um objeto não pode ser movido, redimensionado ou girado de modo que seu local de tela resultante esteja completamente fora das coordenadas de seu contêiner e inacessível para teclado ou mouse. Por exemplo, quando uma janela de nível superior é movida completamente fora da tela ou um objeto filho é movido para fora dos limites do visor do contêiner. Nesses casos, o objeto é colocado o mais próximo possível das coordenadas de tela solicitadas com as coordenadas superiores ou esquerdas substituídas para estar dentro dos limites do contêiner.