如何通过单击 ChromiumWebBrowser 中的按钮来更改 winform 控件的属性?

How to change properity of winform control by clicking on a button in ChromiumWebBrowser?

我尝试通过单击 ChromiumWebBrowser 中的按钮来更改 winform 中 label1 的文本,但该文本并没有改变。

Form1.cs的代码:

private void Form1_Load(object sender, EventArgs e)
{
   browser = new ChromiumWebBrowser("http://localhost/pro/test.html")
   {
    Dock = DockStyle.Fill,
    };
    this.panel1.Controls.Add(browser);
    browser.RegisterAsyncJsObject("callbackObj", new Form1());
}

public void changeText()
{
    this.InvokeOnUiThreadIfRequired(() => label1.Text = "show me the money");
}

test.html的代码:

<script type="text/javascript">
var change = function () {
    callbackObj.changeText();
}
</script>
<button id="test-btn" onclick="change()">click me to change text of label1</button>   

在注册表单对象的地方,您正在创建一个新的不可见表单。尝试为当前可见实例传递 "this"。

browser.RegisterAsyncJsObject("callbackObj", this);