HtmlElementEventArgs.OffsetMousePosition プロパティ

定義

イベントを発生させる要素を基準にしたマウス カーソルの位置を取得または設定します。

public:
 property System::Drawing::Point OffsetMousePosition { System::Drawing::Point get(); };
public System.Drawing.Point OffsetMousePosition { get; }
member this.OffsetMousePosition : System.Drawing.Point
Public ReadOnly Property OffsetMousePosition As Point

プロパティ値

イベントを発生させる要素を基準としたマウス位置。

次の HTML ファイルは、TABLE タグ内でのBODYの相対的な配置を示しています。

<HTML>

<BODY>

    <TABLE style="position:relative;top:100px;left:100px;">
        <TR>
            <TD>Text</TD>
            <TD>More text</TD>
        </TR>
    </TABLE>

</BODY>

</HTML>

次のコード例では、ユーザーがMousePositionの要素をクリックしたときに、ClientMousePositionOffsetMousePositionTABLEの違いを表示します。 ClientMousePosition では、ドキュメントのクライアント領域の左上隅を基準とした座標が表示されます。 MousePosition では、 TABLEの左上隅を基準にした座標が表示されます。 テキスト行の 1 つをクリックすると、 OffsetMousePosition はその TD 要素を基準にした座標を表示します。

この例では、Document_MouseDownMouseDown イベントのハンドラーとしてHtmlDocumentを構成している必要があります。

void Document_Click(object sender, HtmlElementEventArgs e)
{
    HtmlDocument doc = webBrowser1.Document;
    string msg = "ClientMousePosition: " + e.ClientMousePosition.ToString() + "\n" +
        "MousePosition: " + e.MousePosition + "\n" +
        "OffsetMousePosition: " + e.OffsetMousePosition;
    MessageBox.Show(msg);
}
Private Sub HtmlDocument_Click(ByVal sender As Object, ByVal e As HtmlElementEventArgs)
    Dim doc As HtmlDocument = webBrowser1.Document
    Dim msg As String = "ClientMousePosition: " & e.ClientMousePosition.ToString() & vbCrLf & _
        "MousePosition: " & e.MousePosition.ToString() & vbCrLf & _
        "OffsetMousePosition: " & e.OffsetMousePosition.ToString()
    MessageBox.Show(msg)
End Sub

適用対象

こちらもご覧ください