Thread로 동작중에 화면에 내용을 표시하고 싶을 때가 있습니다.
그런데 Thread에서 폼으로 접근하는 것이 잘 되지 않습니다.
해결 방법으로 Invoke를 사용합니다.
이 글은 Invoke delegate를 이용해서 lcdlabel에 글자를 쓰는 방법입니다.
Invoke((MethodInvoker)delegate {
this.lcdLabel.Text}
);
아래와 같이 사용해도 됩니다.
private void WriteText(Control ctrl,string s) {
if(ctrl.InvokeRequired) {
ctrl.Invoke(_TextWriter,ctrl,s);
}
else {
ctrl.Text = s;
}
}
이 방법은 Text를 포함하는 모든 도구에 사용이 가능합니다.
'C#, MONO' 카테고리의 다른 글
float[]를 double[]로 변화 (0) | 2021.08.09 |
---|---|
배열과 리스트의 변환 (0) | 2021.08.09 |
다른 폼으로 메시지 전송(3) (0) | 2021.08.09 |
다른 폼으로 메시지 전송(2) (0) | 2021.08.09 |
다른 폼으로 메시지 전송(1) (0) | 2021.08.09 |