안녕하세요. 
비동기로 UI쓰레드외 다른 쓰레드에서 UI 접근 시 크로스쓰레드 에러가 발생하는데요
그래서 
Invoke((MethodInvoker)delegate() { settext(); });
Invoke를 사용하면 UI쓰레드로 턴을 넘겨서 비동기로 구현이 가능한데
이게 비동기 Task 에 Wait만 걸어주면 Invoke에서 멈춰버리네요. 
비동기 구현 시 해당 Task Wait를 사용하려면 UI와 연관이 없어야지만 사용가능한건가요?
아니면 다른 해결 방법이 있을까요? ㅜㅜ
---테스트 코드 
private void settext()
{
            if(InvokeRequired)
            {
                Invoke((MethodInvoker)delegate() { settext(); });   ///<-----여기서 멈춥니다. 
            }
            else
            {
                textBox1.Text = "test";
            }
}
private void button1_Click_1(object sender, EventArgs e)
{
            
            Task.Run(() =>
            {
                settext();
            }).Wait();  //<---- wait를 사용하지 않으면 정상 작동되는데 wait만 사용하면 위에코드 invoke에서 멈춥니다. 
}
        
        
                    
                    
                    
                    
                    
    
                    
                    
                    
                    
                    
                
                    [최초 등록일: ]
                    [최종 수정일: 7/21/2022]