語言

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 已經不存在了。

範例

以下程式碼會取得可點擊的控制點,並將系統游標移動至該點。

// 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))

備註

如果 an AutomationElement 被另一個視窗完全遮住,則無法點擊。

當 A AutomationElement 滿足以下所有條件時,即為可點擊:

  • 它以程式化方式可見,並可透過 使用者介面自動化 樹取得。

  • 它會完全捲入其父容器(如有)顯示。 如果元素被裁剪,就無法保證它能被點擊。

  • 該元素不會被其他 UI 元素遮蔽。 如果元素被非其祖先以外的 UI 元素部分遮蔽,可能無法點擊。

  • 包含該元素的視窗本身必須是可點擊的。 例如,若包含的視窗完全透明,則該視窗無法點擊。 滑鼠點擊會點擊到下方的視窗,因此透明視窗內的任何控制點都不會回傳可點擊點。

  • 若元素為容器(如列表或樹狀視圖),必須有一個點,點擊時會使控制項背景聚焦。 如果容器控制項的每個部分都被子元素佔據,則無法點擊。

無法保證在 使用者介面自動化 提供者定義為可點擊的點上點擊控制項會有任何動作。 考慮改用控制模式來執行控制操作。

適用於

另請參閱