2010-11-24 2 views

답변

9
timer.Interval=5000; 
timer.Enabled=true; 
MessageBox.Show("Should close automatically"); 

준 타이머의 Tick 이벤트 핸들러에 다음 코드 :이 웹 페이지에있는 경우

private void timer_Tick(object sender,EventArgs evt) { 
    timer.Enabled=false; 
    SendKeys.Send("{ESC}"); // SendWait as alternative 
} 
+0

+1; 이것은 해결 방법으로 작동합니다. 내 대답은'MessageBox' 클래스에만 해당했습니다.) = – BeemerGuy

+1

이것이 나쁜 이유는 여러 가지가 있습니다. 처음에는 메시지 상자가 열렸으므로 이미 닫혀있을 수 있습니다. – Murph

2

MessageBox 클래스에는 사용할 수 없습니다. 당신은 그것을 모방하고 자신이 기능을 추가하는 자신의 양식을 만들어야합니다.

+0

글쎄, Windows API 메시지 상자로 할 수 있습니다. 메시지 상자 창 핸들을 잡은 다음 타이머가 실행되면 WM_CLOSE 메시지를 게시하면됩니다. 당신은 창 폐쇄의 사건을 기록하고 그 사건에서 타이머를 포기해야합니다. P/Invoke 비트가 필요합니다. 그러나 더 나은 해결책은이 질문에 대한 대답에 따라 대화 상자를 사용하지 않는 것입니다. –

+0

"MessageBox에는 해당 기능이 없으므로 해결 방법이 필요합니다"라는 말을 사용해야합니다. – BeemerGuy

0

메시지 상자가 잘못된 솔루션입니다. 힌트 창이 필요합니다.

+0

"힌트 창"이란 무엇입니까? 창문에있는 형태의 무언가가 나에게 새로운 것이면 - 무언가를 창조한다면 무언가가 너무 작을 것입니다. – Murph

+0

약간의 작업을해야한다면 너무 가볍습니다. 업데이트가 업데이트되었을 때 Windows에서 표시하는 메시지를 생각하고 있습니다. 크롬이없는 창을 아주 쉽게 보여줄 수 있고 5 초 후에 그것을 죽일 수 있지만 표준 시스템 구성 요소가 있어야합니다. –

0

, 당신은 를 사용할 수있는 자바 스크립트 또는 아주 좋은 효과를 jQuery를. 이것은 종종 "페이드"애니메이션이라고도합니다. 그것은 타이머를 사용합니다.

이 방법을 사용하면 실제 경고 또는 MessageBox를 사용하지 않을 것입니다. <div> 또는 다른 이름이 지정된 HTML 요소를 사용합니다.

자바 스크립트를 사용하여 수행중인 작업에 대해 here 코드를 찾을 수 있습니다.

jQuery를 사용하는 경우 fadeOut을 찾아보십시오. 여기에 하나의 article이 있습니다.

관련 문제