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

可由用戶端使用以在此元素上按一下之點的實際螢幕座標。

例外狀況

沒有可點選的點。

範例

下列程式碼會擷取控制項的可點選點,並將系統游標移至該點。

// 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 元素遮蔽,它可能無法按一下。

  • 包含元素的視窗必須可以按一下。 例如,如果包含的視窗完全透明,則無法按一下視窗。 按一下滑鼠將會按一下下方的視窗,因此透明視窗中的任何控制項都不會傳回可點選的點。

  • 如果元素是容器 (,例如清單或樹狀檢視) ,則按一下時必須有一個點會使控制項的背景成為焦點。 如果子項目佔用容器控制項的每個部分,則無法按一下。

不保證控制項會在按一下由消費者介面自動化提供者定義為可點選的點時執行任何動作。 請考慮改用控制項模式,對控制項執行動作。

適用於

另請參閱