【问题标题】:c# listbox - first selected item is playedc# listbox - 播放第一个选定的项目
【发布时间】:2013-01-28 17:22:13
【问题描述】:

这是我的问题:我有一个文本框、按钮和一个列表框。这些功能可以正常工作,但是每当我搜索 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);
    }    
}

这是列表框,搜索的项目将在此处,但始终选择一个项目,并且在搜索完成时播放该项目。

【问题讨论】:

  • 如果我理解正确,当你点击button1_Click时,它是在播放视频吗?
  • 是的,但我想要它首先显示所有结果,而不播放任何内容..我会点击它并播放它..
  • 相信你可以使用ClearSelected来清除列表框中的选中项。
  • 我如何使用该清除选择?你介意把它放在我的代码上吗?
  • 您有listBox1_SelectedIndexChanged 事件处理程序吗?这个会在设置列表框的数据源时触发。

标签: c# winforms


【解决方案1】:

填写列表,然后添加 selectedindexchanged 事件处理程序。 (确保该事件不是由设计者为您添加的)。

所以, listBox1.DataSource = ...

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

【讨论】:

    猜你喜欢
    • 2021-09-21
    • 1970-01-01
    • 1970-01-01
    • 2011-05-11
    • 2014-03-31
    • 2023-03-25
    • 1970-01-01
    • 1970-01-01
    • 2020-05-26
    相关资源
    最近更新 更多