1

这是我的问题:我有一个文本框、按钮和一个列表框。这些功能可以正常工作,但是每当我搜索 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,搜索的项目将在此处,但始终选择一个项目,并且每当搜索完成时都会播放该项目。

4

1 回答 1

1

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

所以,listBox1.DataSource = ...

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

于 2013-01-28T18:53:02.773 回答