C #: Thread.Sleep Not working

У меня есть небольшой код, который предназначен для отображения формы в течение определенного периода времени и воспроизведения звука. Однако Форма остается открытой.

    static void Main(string[] args)
    {
        SoundPlayer sp = new SoundPlayer();
        ShowImage(@"Resources\Fish.png", "Fish", 256, 256, 1000);
        sp.SoundLocation = @"Resources\fish.wav";
        sp.Play();

    }


    public static void ShowImage(string img, string title, int width, int height, int timeout)
    {
        ImageContainer ic = new ImageContainer();
        ic.imgView.Image = Image.FromFile(img);
        ic.Text = title;
        ic.Size = ic.imgView.Image.Size;
        ic.Height = height;
        ic.Width = width;
        ic.ShowDialog();
        Thread.Sleep(timeout);
        ic.Hide();
        ic.Opacity = 0;
        ic.Dispose();
    }

Он просто остается с открытой формой, не закрывается и не скрывается. ImageContainer - это форма с PictureBox под названием imgView. Мне нужно, чтобы он отключился за 1 секунду до этого закрывается.

0
задан Moltenheim 7 October 2011 в 15:53
поделиться