저는 (의도적으로) C# 응용 프로그램에서 스레드를 사용하지 않습니다. 사실 내 주요 방법은 [STAThread]
이며, 이는 단지 하나의 스레드 만 사용해야한다는 것을 의미한다고 생각합니다.컨트롤이 내가 작업하고있는 스레드와 다른 스레드에 있어야하는 이유는 무엇입니까?
왜이 오류 메시지가 표시됩니까?
크로스 스레드 작업이 유효하지 않습니다. 'messageLog'컨트롤이 생성 된 스레드 이외의 스레드에서 액세스되었습니다.
는[STAThread]
와main
방법을 표시
System.Timers.Timer another – nos
@Nos 타이머를 사용하고 있습니다. 그게 원인입니다. –
System.Windows.Forms.Timer를 사용하여이 응용 프로그램이 winfoms 응용 프로그램이면 타이머 이벤트를 GUI 스레드로 보냅니다. – nos