2010-12-06 9 views
9

현재 C#에서 MessageBox를 표시하는 응용 프로그램을 개발 중입니다. 몇 초 후에 자동으로 메시지 상자를 닫을 수 있습니까?C에서 메시지 상자를 자동 닫습니다.

+0

사용 실제로 타이머 ..... –

+6

: 여기

는 완전한 답변입니다 MessageBox를 닫으려면 내가 상상해보십시오. –

답변

9
당신은 다음과 같이 코드 숨김로드 핸들러 및 타이머 핸들러를 포함하여, 자신의 창을 만들어야합니다

:

private void Window_Loaded(object sender, RoutedEventArgs e) 
{ 
    Timer t = new Timer(); 
    t.Interval = 3000; 
    t.Elapsed += new ElapsedEventHandler(t_Elapsed); 
    t.Start(); 
} 

void t_Elapsed(object sender, ElapsedEventArgs e) 
{ 
    this.Dispatcher.Invoke(new Action(()=> 
    { 
     this.Close(); 
    }),null); 
} 

그런 다음 사용자 정의 메시지 상자가 ShowDialog를 호출하여 표시 할 수 있습니다() :

MyWindow w = new MyWindow(); 
w.ShowDialog(); 
3

System.Windows.MessageBox.Show() 메소드는 첫번째 파라미터로서 소유자 창 걸리는 과부하를 갖는다. 지정된 시간 후에 닫는 보이지 않는 소유자 창을 만들면 하위 메시지 상자도 닫힙니다. 그렇지 않으면 당신은 이벤트를 보내는 만지작 시작해야하고, 메시지 박스보다는 자신 만의 대화 - 타이머 - https://stackoverflow.com/a/20098381/2190520

관련 문제