오류

자신이 만들어진 스레드가 아닌 스레드에서 액세스되었습니다. 오류 (C#)

지창준 2024. 4. 12. 17:12

해당 에러는 크로스 스레드 문제이다.

 

해당 form의 특정 스레드가 관리하고 있는 오브젝트를 다른 스레드가 접근하는 경우 발생


InvokeRequired 함수를 사용하여 함수 호출을 위임함으로써 해결

 

ex)

if (textBox1.InvokeRequired)
                {

                    textBox1.Invoke(new MethodInvoker(delegate ()
                    {
                        textBox1.Text = Convert.ToString(a);
                    }));
                }