我是C#的新手,我收到错误 System.InvalidOperationException ,我的代码调用了我用PHP创建的API。我的目标是在加载API之前创建加载动画并在之后隐藏它。
loading.Visible = true;
login.Enabled = false;
var Client = new RestClient("http://localhost/online-lms/login.php");
var request = new RestRequest(Method.POST);
Client.ExecuteAsync<Form1>(request, (response) => {
loading.Width = 200;
login.Enabled = true;
if (response.StatusCode == System.Net.HttpStatusCode.OK) {
JObject o = JObject.Parse(response.Content);
}
});
错误:
System.InvalidOperationException:'跨线程操作无效:控制'加载'从其创建的线程以外的线程访问。'
PS:我正在创建一个Windows窗体应用程序。
对此有何帮助?
答案 0 :(得分:1)
调用您的UIelement以避免交叉线程错误。
this.Invoke(new MethodInvoker(delegate {
// run all your code here
}));
return;