2011-09-22 18 views
5

W Framework 4.0, mam WinForm, który jest otwarty z innego formularza, wyświetla niektóre rzeczy i pasek postępu, a następnie siedzi tam. Chciałbym zamknąć ten "pop-up" formularz po n secods, jeśli użytkownik nie zamknie go ręcznie. Jaki jest najmądrzejszy sposób na zrobienie tego?WinForm automatycznie zamyka po upływie czasu?

Dzięki.

Odpowiedz

9

Uruchom minutnik z żądanym interwałem, a następnie po zaznaczeniu za pierwszym razem zamknij formularz. coś takiego

private Timer _timer; 

public PopupForm() 
{ 
    InitializeComponent(); 
    _timer = new Timer(); 
    _timer.Interval = 5000; // interval in milliseconds here. 
    _timer.Tick += (s, e) => this.Close(); 
    _timer.Start(); 
} 

rzeczywiście najmądrzejszy sposób prawdopodobnie oddanie tego we własnym sposobie StartCountdown(), która ma czas jako parametr. Taka logika zwykle nie powinna być w konstruktorze ściśle mówiąc ...

Powiązane problemy