private void MineClicked()       
        {
            for(int i=0;i!=M;++i)
            {
                for (int j = 0; j != N; ++j)
                {                    if (IsMine[i,j] == true && IsLeftClicked[i, j] == false)
                    {
                        if (mines[i, j].Text == "`")
                            mines[i, j].BackgroundImage = minesweeper.mine3;
                        else
                        {
                            mines[i, j].BackgroundImage = minesweeper.mine2;
                            Device dev = new Device();
                            
                            dev.SetCooperativeLevel(this, CooperativeLevel.Normal);
                            //SecondaryBuffer buf = new SecondaryBuffer(minesweeper.Sound, dev);
                            SecondaryBuffer buf = new SecondaryBuffer(@"Sound.wav", dev);
                            buf.Play(0, BufferPlayFlags.Defualt);
                        }
                    }
                 
                }
            }
        }
主窗体中有一个panel,panel有Button若干,Button的mouseup事件调用了上面的函数,
但是每当调用到这个函数时就会出错,怎么回事呢?
谢谢啦。

解决方案 »

  1.   

    操作系统是windows 7 64bit ,但是在windows7 32bit 运行也会出错。
      

  2.   

    在windows 2003 运行也出错:
      

  3.   

    你的DirectX是什么版本的?不是Manage for C#的好像不能真接运行的
      

  4.   

    好像是这个:
    文件名: directx_mar2009_redist.exe 
    版本: 9.26.1590 
    发布日期: 2009/3/17 
    语言: 简体中文 
    下载大小: 92.4 MB Manage for C#这个是什么东西,怎么搜索不到的?
      

  5.   

    目前只在64bit系统上碰到过这问题,没办法~32位下是好的。
      

  6.   

    是在64位的OS里编译出来的程序有问题?还是在OS里运行有问题?
      

  7.   

    确实是在64bit OS 里编译有问题。