c#子线程线程中操作窗体更新的报错
生活随笔
收集整理的這篇文章主要介紹了
c#子线程线程中操作窗体更新的报错
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
用
在執行上傳時,由于操作較長窗體界面卡住,于是用task解決
Task t1 = new Task(manage.UploadData);
t1.Start();?
結果不卡了,程序也傳完了,運行到更新控件狀態時報錯, 看來task內控制窗體存在跨線程的問題,盡管我的model模塊里邊用了invoke 還是報下邊的錯誤
這是在數據源內定義的更新控件的方法?
protected void OnPropertyChanged(string name){ PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(name)); }看來線程的執行位置還得往下移到上傳那一段代碼上
?
其他信息: SFTP文件上傳失敗,原因:Cross thread operation detected. To suppress this exception, set DevExpress.Data.CurrencyDataController.DisableThreadingProblemsDetection = true也可以加上上邊的代碼
namespace WindowsApplication1 {static class Program {/// <summary>/// The main entry point for the application./// </summary> [STAThread]static void Main() {Application.EnableVisualStyles();Application.SetCompatibleTextRenderingDefault(false);DevExpress.UserSkins.OfficeSkins.Register();DevExpress.UserSkins.BonusSkins.Register();DevExpress.Data.CurrencyDataController.DisableThreadingProblemsDetection = true;Application.Run(new Form1());}}?
轉載于:https://www.cnblogs.com/zuochanzi/p/8991936.html
總結
以上是生活随笔為你收集整理的c#子线程线程中操作窗体更新的报错的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: .Net IOC框架入门之三 Autof
- 下一篇: vue调试工具vue-devtools安