TransformPattern.TransformPatternInformation.CanMove Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
UI Otomasyonu öğesinin taşınıp taşınamayacağını belirten bir değer alır.
public:
property bool CanMove { bool get(); };
public bool CanMove { get; }
member this.CanMove : bool
Public ReadOnly Property CanMove As Boolean
Özellik Değeri
true
öğe taşınabiliyorsa; aksi takdirde false
.
Örnekler
Aşağıdaki örnekte, bir TransformPatternAutomationElement denetim deseni elde edilir ve daha sonra öğesini taşımak AutomationElementiçin kullanılır.
///--------------------------------------------------------------------
/// <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
Açıklamalar
Bir nesne taşınamaz, yeniden boyutlandırılamaz veya döndürülemez, böylece sonuçta elde edilen ekran konumu kapsayıcısının koordinatlarının dışında olur ve klavye veya fare ile erişilemez. Örneğin, üst düzey bir pencere tamamen ekran dışına taşındığında veya bir alt nesne kapsayıcının görünüm penceresinin sınırlarının dışına taşındığında. Bu gibi durumlarda nesne, kapsayıcı sınırları içinde olmak üzere üst veya sol koordinatları geçersiz kılınarak istenen ekran koordinatlarına mümkün olduğunca yakın yerleştirilir.