gpt4 book ai didi

c# - 页面不包含 BeginInvoke 的定义

转载 作者:行者123 更新时间:2023-11-30 22:04:49 24 4
gpt4 key购买 nike

我是编码新手,在我的第一个项目中,我必须从数显卡尺读取信息并将其显示在网络应用程序的文本框中。我从另一个项目中找到了代码,其他人在他们使用 Windows 窗体的地方创建了这些代码。我正在使用 visual studio 2013,我正在修改他们的代码以使用 web 应用程序而不是 windows 窗体。我遇到的麻烦是他们有两行我不理解的代码,而且似乎无法找到如何修改它们以满足我的需要的答案。代码是

this.BeginInvoke(new EventHandler(delegate { SetTheText(strErg); }));
Application.DoEvents();

问题是 BeginInvoke 和 DoEvents() 都有一个错误,指出两者都没有定义。有没有办法将其修改为 Web 应用程序?或者有没有办法让这两者的定义都知道?

这对很多人来说似乎微不足道,但我无法弄明白。任何帮助将不胜感激!

我包含以下使用语句 使用系统; 使用 System.Collections.Generic; 使用 System.Linq; 使用 System.Web; 使用 System.Web.UI; 使用 System.Web.UI.WebControls; 使用 System.ComponentModel; 使用系统数据; 使用系统绘图; 使用系统文本; 使用系统线程; 使用 System.IO.Ports; 使用 Telerik.Web.UI; 使用 System.Windows.Forms; 使用 System.Web.Services.Protocols; 使用 System.Web.Services

;

最佳答案

这些不适用于网络应用程序。

与网络应用程序不同,Windows 应用程序需要有一个主线程或 GUI 线程。这意味着您经常必须使用 BeginInvoke 将命令编码到该线程。

DoEvents 在 VB 6 中被用来模拟多线程。对于现代 Windows 应用程序来说确实没有必要,尤其是现在我们有了异步/等待。通常人们调用 DoEvents 来重绘屏幕,这不适用于网络应用。

总之,您不需要它们。只需直接调用 SetTheText。

关于c# - 页面不包含 BeginInvoke 的定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24873774/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com