Ваша тема совершенно бесполезна: -)
В вашем потоке вы выполняете BindDataUI
, который выполняет маршалинг выполнения обратно в поток пользовательского интерфейса, используя Invoke
.
Ваш полный код эквивалентен этому:
private void BtnloadClick(object sender, EventArgs e)
{
if (null != cmbSource.SelectedItem)
{
string selectedITem = ((FeedSource) cmbSource.SelectedItem).Url;
if (!string.IsNullOrEmpty(selectedITem))
{
BindDataGrid(selectedITem);
}
}
private void BindDataGrid(string selectedItem)
{
for (int i = 0; i < 10; i++)
{
//Time consuming Process
}
}
Было бы лучше направить только эти части BindDataGrid
в поток пользовательского интерфейса, который действительно должен быть запущен в этом потоке, потому что им необходимо обновить пользовательский интерфейс.