现在很多音乐播放器都有歌曲直接拖放至控件的功能。我准备做一个播放器用datagridview装歌曲的基本信息,在DragEnter事件中有如下代码:
          if(e.Data.GetDataPresent(DataFormats.FileDrop)) 
               e.Effect = DragDropEffects.All; 
           else 
               e.Effect = DragDropEffects.None;
   它可以实现所有文件的拖入,假如我只想允许歌曲文件的拖入应该如何来做???

解决方案 »

  1.   

    判断文件的后缀,如果是mp3,wma,等你支持的文件,可以拖进来,其他的不让拖。
      

  2.   

      if (e.Data.GetDataPresent(DataFormats.FileDrop))
                {
                    string[] _Value = (string[])e.Data.GetData("FileName");
                    if (new FileInfo(_Value[0]).Extension.ToLower() == ".jpg")
                    {
                        e.Effect = DragDropEffects.All;
                        return;
                    }
                }
      

  3.   

       请大家帮忙看看这句话有什么问题吗
     if (e.Data.GetDataPresent(DataFormats.FileDrop)) 
                { 
                    string[] _Value = (string[])e.Data.GetData("FileName"); 
                    if (new FileInfo(_Value[0]).Extension.ToLower() == ".jpg") 
                    { 
                        e.Effect = DragDropEffects.All; 
                        return; 
                    } 
                } 
      

  4.   

    string[] _Value = (string[])e.Data.GetData("FileName") 字符串是有长度限制的 
      

  5.   

    (string[])e.Data.GetData(DataFormats.FileDrop)[0]