我在尝试使程序为每首歌曲制作按钮时遇到了一些困难,比如说我在一个文件夹中有6首歌曲,程序应该做的就是将它们全部插入并为每首歌曲生成按钮,当我按下它们时,播放自己的歌曲。我什至无法想到从哪里开始,我正在运行FolderBrowsingDiaglog,我只需要弄清楚这部分。我添加了您提供给我的代码,这给了我一个错误,即我在路径中包含非法字符。
private void button2_Click(object sender, EventArgs e)
{
FolderBrowserDialog folderChoice = new FolderBrowserDialog();
if (folderChoice.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
int i = 0;
foreach (string fname in System.IO.Directory.GetFiles(folderChoice.SelectedPath + @"*.mp3"))
{
Button btn = new Button
{
Text = fname.Split('\\').LastOrDefault(),
Location = new Point(10, 10 + i++ * 30), //sample x,y
Size = new Size(100, 20),
Tag = fname, //For having the file location
};
this.Controls.Add(btn);
}
}
}
答案 0 :(得分:0)
创建按钮很容易:
if(folderBrDlg.ShowDialog()==DialogResult.Ok)
{
int i = 0;
foreach(string fname in System.IO.Directory.GetFiles())
{
Button btn = new Button
{
Text = fname.Split('\\').LastOrDefault(),
Location = new Point(10, 10 + i++ * 30), //sample x,y
Size = new Size(100,20),
Tag = fname, //For having the file location
....
};
btn.Click += (s, e) =>
{
string fileToPlay = (string)((Button)s).Tag;
//now you only have to play it.
}
this.Controls.Add(btn);
}
}
更新:
我在按钮的单击事件中添加了单击事件,单击每个按钮都可以获取相关文件的路径,而您只需要使用播放器即可播放该文件。
答案 1 :(得分:0)
这是我对问题的理解。 1.您要制作一个程序,当单击其中一个按钮时,播放六首歌曲之一
FolderbrowsingDialog将允许选择要播放的文件,但不允许您播放它们。考虑使用SoundPlayer类。 SoundPlayer将为您提供播放歌曲的功能,但是这些歌曲必须是.wav文件。Microsoft链接将帮助您更好地了解SoundPlayer类。
由此您应该能够完成程序。