C# Winforms-在另一个线程中调用方法
从winform按钮调用不同线程中的方法以避免ui冻结或产生延迟的最佳实践是什么?第一步从C# Winforms-在另一个线程中调用方法,c#,winforms,c#-4.0,C#,Winforms,C# 4.0,从winform按钮调用不同线程中的方法以避免ui冻结或产生延迟的最佳实践是什么?第一步从 如果这不符合您的要求,或者您需要更高级的东西,您应该考虑以下其中之一: 您应该调用控件。调用或开始调用,请参阅深入参考。您可以这样做 Dispatcher.BeginInvoke(DispatcherPriority.Background, new Action(() => { //DO SOMETHING } 看看,它是专门为这
控件。调用或开始调用,请参阅深入参考。您可以这样做
Dispatcher.BeginInvoke(DispatcherPriority.Background, new Action(() =>
{
//DO SOMETHING
}
看看,它是专门为这个目的而创建的…@Soner:谢谢,但我不同意。有一些特定于WinForms ui控件的线程解决方案。我觉得你的标题太笼统了。(例如BeginInvoke)。重新编辑。这是你描述的相反的方式。听起来像是从背景线程到UI线程的相反方式。@UweKeim:不确定你的意思。此代码可用于从非UI线程的线程调用方法。在我看来,这正是OP所问的。我很确定他的意思与你的意思相反:-)
Dispatcher.BeginInvoke(DispatcherPriority.Background, new Action(() =>
{
//DO SOMETHING
}