c#listbox - 播放第一个选定的项目

时间:2013-01-28 17:22:14

标签: c# winforms

这是我的问题:我有一个TextBox,按钮和一个ListBox。这些功能正常,但每当我搜索Flash视频时,当我点击搜索按钮时,就会播放列表中的第一个视频。我不希望它在那个时候播放 - 我想从列表中选择而不播放ListBox上的第一个突出显示的项目。

这是我的代码:

private void button1_Click(object sender, EventArgs e)
{
    var path = "C:\\Users\\John\\Desktop\\Video\\FLASH";
    listBox1.DataSource = Directory.GetFiles(path, "*" + txtbox1.Text + "*")
                       .Select(f => Path.GetFileName(f))
                       .ToList();
}

这是搜索按钮。它将从指定路径搜索textbox1上的文本:

private void listBox1_DoubleClick(object sender, EventArgs e)
{
    var fileName = listBox1.SelectedItem as string;
    if (fileName != null)
    {
        var path = Path.Combine("C:\\Users\\John\\Desktop\\Video\\FLASH", fileName);
        Process.Start(path);
    }    
}

这是ListBox,搜索到的项目将在此处,但总会选择一个项目,并且只要搜索完成,该项目就会播放。

1 个答案:

答案 0 :(得分:1)

填写列表,然后添加selectedindexchanged事件处理程序。 (确保设计师没有为您添加事件。)

所以, listBox1.DataSource = ...

listBox1.SelectedIndexChanged + =  new System.EventHandler(this.listBox1_SelectedIndexChanged);