2011-08-10 6 views
1

myApp.exe를 두 번 클릭하면 MessageBox.Show() 함수가 제대로 작동합니다. 하지만 응용 프로그램 프로세스를 소스 코드와 연결하려고했을 때. 중단 점 설정 아래 코드에서 작동하지 않습니다. 내 말은 MessageBox가 팝업되지 않았다는 것입니다. 그리고 코드는 또 다른 외부 예외 처리를 포착했습니다. 멀티 스레드 타이밍 문제로 인해 발생합니까?MessageBox.show() 함수가 언젠가 작동하지 않습니다.

이유를 모르겠습니까? 감사합니다. .

if (File.Exists(myConfigFile)) 
{ 
    doc.Load(myConfigFile); 
} 
else 
{ 
    MessageBox.Show("Read " + myConfigFile + " failed, can't find the file", 
    "Critical Warning", 
    MessageBoxButtons.OK, 
    MessageBoxIcon.Error); 
} 
+1

작업 표시 줄을보십시오. MessageBox 창은 작업 표시 줄의 다른 곳에 나타납니다. 그것을 클릭하면 MessageBox가 나타납니다. –

+0

팝업 차단기가 켜져 있지 않은지 확인했습니다. 이유에 의한 것이 아니라고 생각했습니다. –

+1

팝업 차단기는 인터넷 브라우저에만 영향을줍니다. Winforms 응용 프로그램에는 아무런 영향을 미치지 않습니다. –

답변

1

나는 소스 코드가 첨부 된 프로세스와 차별화된다고 생각합니다. 먼저 솔루션을 다시 빌드 한 다음 빌드 대상에 따라 "bin \ debug 또는 bin \ release에서"솔루션 폴더에서 새로 만든 응용 프로그램 exe를 시작한 다음 소스 코드로 응용 프로그램 프로세스를 연결하십시오.

+0

'Thread.sleep (10000);을 추가하고 app.exe에 소스 코드를 첨부했습니다. 나는 내 코드를 두 번 확인했는데 잘 동작한다. 궁극적으로 내 솔루션을 다시 작성하여 문제가 해결되었습니다. 감사. –

1

MessageBox.Show은 웹 응용 프로그램에서 사용할 수 없습니다. 페이지에서 javascriptalert(123)과 같이 사용할 수 있습니다.

관련 문제