C# Invoke 사용시 간결하게 쓰는 방법 병렬 처리나 크로스 쓰레드 경고가 발생할 경우를 방지해 미리 UI 컨트롤을 Invoke 할 경우 아래와 같이 쓰면 깔끔하고 보기도 좋다 this.Invoke(new MethodInvoker( delegate() { ///실행할 내용 lstLog.Items.Add(new ListViewItem(strData)); } ) ); 프로그래밍/C# 2013.07.10
C# 크로스 쓰레드 위반 경고 방지를 위한 Invoke 사용하기 1. 보통 BackGroundWorker 나 멀티 쓰레드를 돌릴 경우 UI 컨트롤 내용을 변경하려면 크로스 쓰레드 위반 경고 메세지가 뜬다. 2. 이럴 경우엔 UI 컨트롤의 Invoke 메서드를 사용하여 해결 해야함. 아래와 같이 델리게이트를 선언해주고 invoke 해주면 잘 됨. 3. 그리고 ListMsg의 리스트뷰의 ensurevisible 을 사용해주면 리스트가 계속 추가 될때마다 추가된 현재 위치로 라인을 이동해줘서 메세지를 확인하기 편하다. 프로그래밍/C# 2013.07.05