sleep会把整个线程给停掉开始这个操作前你应该另外开一个线程进行操作,这样才不会影响你主线程的工作。

解决方案 »

  1.   

    http://topic.csdn.net/u/20100415/16/37a75644-a7b4-4af4-b134-ef5d9b0faf09.html?84740看懂我这个帖子里8楼的回答的代码 你问的问题应该迎刃而解.
      

  2.   


    曾经在网上看见过一个技巧也许对你有帮助,请看下面的代码:Public Class Form1
        Private form2 As Form = New Form()    Public Sub New()
            InitializeComponent()
            Timer1.Interval = 5000
            Timer1.Enabled = True
            form2.Visible = False
            form2.Size = New Size(0, 0)
            form2.FormBorderStyle = Windows.Forms.FormBorderStyle.None
            form2.ShowInTaskbar = False
        End Sub    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            '播放音乐
            form2.ShowDialog()
            '继续下面的程序代码
        End Sub    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
            form2.Close()
        End Sub
    End Class在这段代码用我利用一个模态对话框来限制当前程序往下执行,form2是一个没有边界,大小为0的对话框窗体,当我用ShowDialog起来后它会将代码停留在那里,直到此对话框关闭后才会继续执行下面的代码。关闭此对话框我用了Timer控件,设置Timer控件的Interval = 5000表示是5秒,这样播放音乐不会受到影响。你可以测试一下我的代码,如果有任何问题,请告诉我。