C#UI元素的独立线程
我有一个组合框,其isEditable属性为true。我想做的是模仿一个搜索框(比如imdb.com上的搜索框)。在这个组合框中,我需要加载图像列表和标题。ComboBox中的元素根据用户在其中键入的内容进行加载C#UI元素的独立线程,c#,wpf,multithreading,combobox,C#,Wpf,Multithreading,Combobox,我有一个组合框,其isEditable属性为true。我想做的是模仿一个搜索框(比如imdb.com上的搜索框)。在这个组合框中,我需要加载图像列表和标题。ComboBox中的元素根据用户在其中键入的内容进行加载 主要的问题是,我的应用程序在加载ComboBox元素时冻结,所以我认为为ComboBox创建一个单独的线程是一个好主意,但我不知道这是不是最好的主意,也不知道我该怎么做 为此,您可以使用backgroundworker,它将充当一个单独的线程,并保持您的UI响应 private voi
主要的问题是,我的应用程序在加载ComboBox元素时冻结,所以我认为为ComboBox创建一个单独的线程是一个好主意,但我不知道这是不是最好的主意,也不知道我该怎么做 为此,您可以使用
backgroundworker
,它将充当一个单独的线程,并保持您的UI
响应
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
//Some task
}
启动后台工作程序,如下所示:
backgroundWorker1.RunWorkerAsync();
这将在后台执行一些逻辑,而不会影响UI
有关更多信息,请参阅此,只需为其创建一个线程即可。问题真的很广泛,你应该先读一读这个话题,然后再提出一个更具体的问题。可能你的观点是错误的。控件保留在主线程上,您需要分离加载部分,以便它可以在另一个线程上运行(sansgui)。