Тем временем я нашел проблему, и если я слушал вас, вы, вероятно, уже ответили на мой вопрос: /
если вы запускаете потоки BackgroundWorker, будьте осторожны, вы не обращаете внимание на основной поток пользовательского интерфейса.
в моем случае я сделал это так:
private void BW_FriendInRequest_DoWork(object sender, DoWorkEventArgs e)
{
while (true)
{
if (this.isLoggedIn)
listIncomingRequests();
Thread.Sleep(Config.mMessagesCheckSleep);
}
}
private delegate void listIncomingRequestsDelegate();
private void listIncomingRequests()
{
if (InvokeRequired)
{
listIncomingRequestsDelegate d = new listIncomingRequestsDelegate(listIncomingRequests);
this.Invoke(d, new object[] { });
return;
}
...
}
как только я удалил "InvokeRequired", эффект замораживания исчез.