AutomationElement.GetClickablePoint メソッド

定義

クリックできる AutomationElement 上のポイントを取得します。

public:
 System::Windows::Point GetClickablePoint();
public System.Windows.Point GetClickablePoint();
member this.GetClickablePoint : unit -> System.Windows.Point
Public Function GetClickablePoint () As Point

返品

クライアントがこの要素をクリックするために使用できるポイントの物理的な画面座標。

例外

クリック可能なポイントはありません。

AutomationElementの UI が存在しなくなりました。

次のコードは、コントロールのクリック可能なポイントを取得し、システム カーソルをそのポイントに移動します。

// element is an AutomationElement.
System.Windows.Point clickablePoint = element.GetClickablePoint();
System.Windows.Forms.Cursor.Position = 
    new System.Drawing.Point((int)clickablePoint.X, (int)clickablePoint.Y);
' element is an AutomationElement.
Dim clickablePoint As System.Windows.Point = element.GetClickablePoint()
System.Windows.Forms.Cursor.Position = New System.Drawing.Point(CInt(clickablePoint.X), CInt(clickablePoint.Y))

注釈

AutomationElementは、別のウィンドウで完全に隠されている場合はクリックできません。

AutomationElementは、次のすべての条件を満たす場合にクリックできます。

  • プログラムによって表示され、UI オートメーション ツリーで使用できます。

  • 親コンテナー内のビュー (存在する場合) に完全にスクロールされます。 要素がクリップされている場合、クリック可能であるという保証はありません。

  • 要素は、他の UI 要素によって隠されません。 要素が先祖以外の UI 要素によって部分的に隠れている場合は、クリックできない可能性があります。

  • 要素を含むウィンドウは、それ自体がクリック可能である必要があります。 たとえば、含まれているウィンドウが完全に透明な場合、ウィンドウはクリックできません。 マウスクリックは下のウィンドウまでクリックするため、透明ウィンドウ内のコントロールはクリック可能なポイントを返しません。

  • 要素がコンテナー (リスト ビューやツリー ビューなど) の場合は、クリックするとコントロールの背景にフォーカスが移動するポイントが必要です。 コンテナー コントロールのすべての部分が子要素によって占有されている場合、クリックすることはできません。

UI オートメーション プロバイダーによってクリック可能として定義されたポイントをクリックしたときに、コントロールが何かを実行する保証はありません。 代わりにコントロール パターンを使用して、コントロールに対してアクションを実行することを検討してください。

適用対象

こちらもご覧ください