次の方法で共有


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

戻り値

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

適用対象

こちらもご覧ください