UI스레드에 접근하는방법과 통신..질문있습니다 ㅜ Programing/WinMoDev Q&A2010. 2. 17. 14:43
질문자 : 라에(asdsa1011) | 링크 : http://cafe.naver.com/winmodev/1221 |
<질문내용> 현재 이미지버튼을 클릭하면 0.1초 주기로 눌렀는지 판별하기 위해서 타이머를 돌리고 있거든요 ;ㅁ; 그런데 그렇게되면 주 스레드가 다른작업을 할 수가없어서 워커스레드를 하나 만들어서 사용하려고 합니다. 스레드를 사용하려고 하는데 몇번 테스트를 해 보았지만 UI스레드에 접근하는 방법을 모르겠습니다 ㅜㅜ..;
그리구.. 또 궁금한게 있는데 소켓통신을 하지않고 웹서비스를 통해 채팅을 구현하려고 하는데 웹서비스에 접속하는시간이 오래 걸리기도 하고 (받아오는데 꽤 걸리더군요 시간이..;;) 어떻ㄱ ㅔ 하면 원활하고 빠른 통신을 할 수 있을 지 알고 싶습니다 ㅡㅜ
관련소스/참고자료 private void timer1_Tick(object sender, EventArgs e) //0.1초에 한번씩 실행. { if (CheckBtnClick()) }
private bool CheckBtnClick() /*@@@@@@@@@@@@*/ return false; //아무버튼이 눌려지지 않았을 경우 false리턴 | |
<답변내용> 안녕하세요 루나네스 입니다 스레드에서는 Control로 직접 접근이 불가능 합니다 delegate void MethodInvoker(); 로 하나 만들어 주시고 스레드 에서 이런식으로 선언한 다음 아래처럼 수정이 가능하겠지요 peivate void CheckBtnClick() /*@@@@@@@@@@@@*/ return false; //아무버튼이 눌려지지 않았을 경우 false리턴 원래는 Thread에서 직접 UI Control을 건드리지 못하기 때문에 C# Delegate 로 검색하시면 많은 자료들이 있으니 참고하세요 그런데..... 추가내용 사용자 정의 컨트롤(user control)로 이미지 버튼을 만들어 보세요 | |
작성일 : 2010.02.08 |
'Programing > WinMoDev Q&A' 카테고리의 다른 글
문자 동기화 방법 없을까요? (0) | 2010.02.17 |
---|---|
WM6.5 Gestures(제스처) 터치 스크롤링에 대한 질문입니다 (0) | 2010.02.17 |
터치 스크롤 구현은 어떤 방식으로 제작이 되나요? (0) | 2010.02.17 |
안녕하세요. 처음 시작하는 초보입니다. ^^; (0) | 2010.02.17 |
WM6.5 한글화 에러 및 사이즈 질문이요;;; (0) | 2010.02.17 |