c#restsharp System.InvalidOperationException

时间:2017-03-26 16:15:36

标签: c#

我是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窗体应用程序。

对此有何帮助?

1 个答案:

答案 0 :(得分:1)

调用您的UIelement以避免交叉线程错误。

        this.Invoke(new MethodInvoker(delegate {
            // run all your code here
        }));
        return;