Tiz*_*izz 1 c# forms treeview multithreading delay
我有ac#form,初始化时间需要一段时间(它从服务器获取信息,并填充TreeView).现在,代码看起来类似于:
public class myForm : Form
{
InitializeComponent();
List<Location> locations = getServerLocations(); // Server call
foreach( Location loc in locations )
{
List<POI> POIs = loc.getLocationPOIs(); // Server call
foreach( POI poi in POIs )
{
List<POIDetails> = poi.getPOIDetails(); // Server call
....
}
}
}
Run Code Online (Sandbox Code Playgroud)
你得到了我认为的观点......所以有一棵大树,我知道在用户扩展树之前我不能一直打电话.但目的是我只希望表单显示,在工具条上加载"加载...",同时所有处理和服务器都会发生.
现在,好像我还没有加载应用程序,因为在完成所有调用之前,没有任何内容会显示给用户.
你不应该在UI线程上进行任何长时间运行的处理 - 而是将其移动到另一个线程,即使用a BackgroundWorker.您最初可以显示"正在加载"屏幕,并且在后台工作程序完成后,使用您的树结构更新UI.
| 归档时间: |
|
| 查看次数: |
752 次 |
| 最近记录: |