我正在开发一个基于 webBrowser 控件的消息传递系统,以便我可以随意格式化文本。当用户离线并收到消息时,消息会被存储,并在他们重新登录时为每条消息发送一个事件。当我为网站设置默认 html 等时,我通常使用:
while (this.webBrowser1.ReadyState != WebBrowserReadyState.Complete) Application.DoEvents();
这在程序正常运行时有效。当用户在离线时收到发送的消息时,这会触发下一条消息事件,依此类推,每条消息直到最后一条。这意味着他们离线时发送的最后一条消息是唯一显示的消息。我想要像 Application.DoEvents() 这样的东西,它允许控件不断更新和加载,但不会触发其他事件。
谢谢
编辑:
我通过完全删除 DoEvents() 解决了这个问题。我没有在工作时更改 DocumentText,而是设置了一个字符串生成器,然后在最后一次设置了 html。