WebBrowser コントロールを使って HtmlElement を取得したら InvokeMember で getBoundingClientRect を実行できるようです。
取得したオブジェクトは COM オブジェクトなので解放をお忘れなく。
C#
1using System;
2using System.Drawing;
3using System.Runtime.InteropServices;
4using System.Windows.Forms;
5
6namespace WindowsFormsApp3
7{
8 public partial class Form1 : Form
9 {
10 public Form1() {
11 InitializeComponent();
12 }
13
14 private void button1_Click(object sender, EventArgs e) {
15 webBrowser1.DocumentText =
16 @"<html><head><script></script></head><body><table><tr id=hoge><td>test</td></tr></table></body></html>";
17 }
18
19 private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) {
20 var element = webBrowser1.Document.GetElementById("hoge");
21 dynamic rect = element.InvokeMember("getBoundingClientRect");
22 Rectangle rectangle = Rectangle.FromLTRB(rect.left, rect.top, rect.right, rect.bottom);
23 MessageBox.Show(rectangle.ToString());
24 Marshal.FinalReleaseComObject(rect);
25 }
26 }
27}
28
29