Изменять gui можно только из потока gui Для винформ Invoke Для wpf dispatcher
сложно то как... А можно хотя бы немножечко подробнее что мне сделать?🥺🥺
https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.control.invoke?view=netcore-3.1#System_Windows_Forms_Control_Invoke_System_Delegate_ Когда нужно изменить контрол из другого потока, то у контрола есть метод Invoke например textBoxName.Invoke() который принимает делегат, который должен выполнится в потоке gui. Собсна этим делегатом может быть твоя лямба, в которой ты и меняешь состояния контрола. () => {TextBox.Text = "Blabla"}
но оно же типа будет синхронно запускаться?(
Синхронно только изменение состояния контрола. Все остальное не будет блокировать поток gui
но там же ещё beginInvoke есть😏😏
Это всего лишь означает, что после вызова этого метода сразу же вернётся управление тому потоку из которого он вызывался, не дожидаясь выполнения того делегата. Имеет ли это смысл вообще в данном конкретном случае? Все равно метод выше изменяет контрол и завершает своё выполнение
да, имеет. Но я сейчас попробую так) НУ, погнали...
Работает!!!!!!!!!!!!!!!!
Обсуждают сегодня