프로그래밍/C#

C# 크로스 쓰레드 위반 경고 방지를 위한 Invoke 사용하기

bluecandyg 2013. 7. 5. 10:18

 

 

1. 보통 BackGroundWorker 나 멀티 쓰레드를 돌릴 경우 UI 컨트롤 내용을

 

변경하려면 크로스 쓰레드 위반 경고 메세지가 뜬다.

 

 

2. 이럴 경우엔 UI 컨트롤의 Invoke 메서드를 사용하여 해결 해야함.

 

아래와 같이 델리게이트를 선언해주고 invoke 해주면 잘 됨.

 

 

3. 그리고 ListMsg의 리스트뷰의 ensurevisible 을 사용해주면 리스트가 계속 추가 될때마다

 

추가된 현재 위치로 라인을 이동해줘서 메세지를 확인하기 편하다.