C#

[C#] 크로스 스레드 작업이 잘못되었습니다.(InvalidOperationException)

정보처리마법사 2016. 1. 20. 11:26
반응형

 

 

크로스 스레드 호출 처리를 하지 않은 상태에서 그냥 실행을 시키면 

 

 

 

 

 

뚜둥! 요로코롬 에러가 뜬다.

간단하게 생각해서 두 쓰레드가 충돌이 난다고 생각하면 된다.

 

 

 

 

 

이럴땐 이렇게 Invoke를 써서 크로스 스레드 호출 처리를 해주면

 

 

 

 

 

소스코드 Ctrl+C ,  Ctrl+V

1
2
3
4
5
6
7
        private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)
        {
            this.Invoke(new Action(delegate ()
            {
                listBox1.Items.Add(serialPort1.ReadExisting());
            }));
        }
cs

잘된다. 

 

 

 

 

 

 

이상으로 포스팅을 마칩니다. 감사합니다.

 

 

 

 

잘 못 된 정보가 있으면 말씀해주세요.

공감버튼 클릭은 작성자에게 큰 힘이 됩니다.  행복한 하루 되세요.

 

“파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음"

반응형