0
我嘗試通過單擊ChromiumWebBrowser中的按鈕來更改winform中label1的文本,但該文本沒有更改。如何通過點擊ChromiumWebBrowser中的按鈕來改變winform控件的合法性?
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>
避免使用'Form'結合所有方法和屬性將可能暴露。創建一個對象並傳入一個對你的表單的引用(一個簡單的代理)。 – amaitland
感謝您的建議。我會改進我的代碼。 – ladrianbo