0
A
答えて
1
この機能は、まだDotNetBrowser DOM APIには存在しません。しかし、Javascriptを使用してこのケースを回避することは可能です。
更新:この機能はDotNetBrowser 1.8.3で追加されました。 DOM APIを使用してobtain absolute or relative DOMElement positionにアクセスできるようになりました。
0
ウィンドウ、ビューポート、および要素の絶対座標を組み合わせることができます。あなたがここにScreen.PrimaryScreen.Bounds
財産
を使用することができ、画面の解像度を取得するに は、コードサンプルです:
public partial class Form1 : Form
{
BrowserView browserView;
public Form1()
{
InitializeComponent();
browserView = new WinFormsBrowserView();
browserView.Browser.FinishLoadingFrameEvent += Browser_FinishLoadingFrameEvent;
Controls.Add((Control)browserView);
browserView.Browser.LoadURL("google.com");
}
private void Browser_FinishLoadingFrameEvent(object sender, DotNetBrowser.Events.FinishLoadingEventArgs e)
{
if (e.IsMainFrame)
{
DOMDocument document = e.Browser.GetDocument();
DOMElement element = document.GetElementByName("btnK");
Rectangle rectangle = element.BoundingClientRect;
Rectangle resolution = Screen.PrimaryScreen.Bounds;
Debug.WriteLine("Screen resolution = " + resolution.Width +
'x' + resolution.Height);
Debug.WriteLine("Form X = " + Location.X);
Debug.WriteLine("Form Y = " + Location.Y);
Debug.WriteLine("browserView X = " + ((Control)browserView).Location.X);
Debug.WriteLine("browserView Y = " + ((Control)browserView).Location.Y);
Debug.WriteLine("X = " + rectangle.Location.X);
Debug.WriteLine("Y = " + rectangle.Location.Y);
int absoluteX = Location.X +
((Control)browserView).Location.X + rectangle.Location.X;
int absoluteY = Location.Y +
((Control)browserView).Location.Y + rectangle.Location.Y;
Debug.WriteLine("Absolute X = " + absoluteX);
Debug.WriteLine("Absolute Y = " + absoluteY);
}
}
}
+0
このソリューションはうまくいくようですが、毎回ではありません。 –
関連する問題
- 1. MPandroidチャートで絶対座標を取得
- 2. ターゲット要素に対するタッチイベントポイントのx座標を取得する方法は?
- 3. iOSのコントロールの絶対座標を正しく取得する方法は?
- 4. 要素の特定の座標をクリックする方法
- 5. イメージ要素の絶対位置を取得する方法は?
- 6. 要素座標を取得
- 7. カーソル座標とWPF要素の取得方法スクリーンに関する座標?
- 8. IE8で要素のスタイル座標を取得する方法
- 9. R:グリッドパッケージの絶対座標
- 10. ポップアップウィンドウ内のビューの絶対座標を取得
- 11. 要素の座標の取得
- 12. 要素の座標の取得
- 13. 囲むSVGに相対的な要素の座標を取得
- 14. SVGKit - Illustrator SVGの絶対座標からの相対座標
- 15. キャンバス内のシェイプ/コントロールの絶対座標をバインドする方法
- 16. 座標に基づいて要素を取得する方法
- 17. Webページの要素のx、y座標を取得する方法は?
- 18. 相対/絶対位置CSS(エリア要素の矩形座標を変換)
- 19. 絶対座標ビットマップandroid
- 20. mouseClickのx座標とy座標を取得する方法
- 21. LatLngから絶対ピクセル座標を取得
- 22. BHOのWebページ要素の画面座標を取得する方法
- 23. WinRTのUIElementの絶対座標
- 24. gtk3の絶対座標ウィンドウの管理方法python
- 25. UIImageViewの座標の取得方法は?
- 26. 絶対位置の要素の幅を角度で取得する方法
- 27. pdfファイルの特定の座標で色を取得する方法
- 28. ここから特定の場所のGPS座標を取得する方法
- 29. タッチパッドの絶対的なタッチ座標
- 30. DynamicReportsでは、どのようにレポート要素の絶対座標を設定しますか
それは(ピクセルをincluingビューポートが、画面全体に相対または絶対相対を知るには十分ではありません解決)。 Internet Explorerでは、DOMにトランスフォーメーションサービスがあり、DotNetBrowserに相当するものがあります。 var rect = el2.getBoundingClientRect(); var displayServices = el.document as IDisplayServices; var point =新しいtagPOINT {x = rect.left、y = rect.top}; displayServices.TransformPoint(参照ポイント、_COORD_SYSTEM.COORD_SYSTEM_FRAME、 _COORD_SYSTEM.COORD_SYSTEM_GLOBAL、el); – Paulo