비동기 소켓 입력 상태를보고하는 데 사용되므로 스레드로부터 안전해야하는 Toast를 작성하고 있습니다. 스레드로부터 안전하게 만들려고했지만 토스트는 여전히 잠겨 있습니다.스레드 안전 Form.Show
public static void Show(string message) {
Toast toast = new Toast(message);
toast.ShowAction();
}
private delegate void InvokeCallback();
public void ShowAction() {
if (InvokeRequired) {
Invoke(new InvokeCallback(ShowAction));
}
else {
Show();
}
}
나는 메시지 상자처럼 쉽게 즉 Toast.Show("Status changed");
그들을 표시 할 수 있어야합니다. 어떤 도움이라도 대단히 감사하겠습니다.
폼을 만드는 동일한 스레드에서 폼 주위에 메시지 루프를 실행할 수 있습니다. 간단히 말하면 : Application.Run (form); 양식이 현재 제어 가능하므로 적절할 때 양식을 닫아야합니다. –
@lassevk : NO NO NO! 시작하지 않은 스레드에서 메시지 루프를 시작하지 마십시오. 이것은 재앙적인 결과를 초래할 수 있습니다! –