更改ListBox中的选择

时间:2017-05-26 19:31:46

标签: c# winforms

点击ListBox,我将音频文件添加到Button。然后OpenFileDialog(下面的代码)有效。我使用添加的文件ListBox来播放(下面的代码)。我点击button_play。这儿存在一个问题。当我点击Button进行排序时使用listBox1.Sorted = true。排序后,不播放应播放的音频文件。播放前在此位置的音频文件。也就是说,如果所有歌曲都有一个数字,那么在排序后只更改了名称,但数字没有改变。当您点击button_play时,会按号码播放。

private void button_add_Click(object sender, EventArgs e)
        {
            openFileDialog1.ShowDialog();
            label_load.Text = list_catalog.Items.Count.ToString();
        }

private void openFileDialog1_FileOk(object sender, CancelEventArgs e)
{
    foreach (String file in openFileDialog1.FileNames)
    {
        if (list_catalog.Items.Contains(Vars.GetFileName(file)))
        {
        }
        else
        {
            Vars.Files.Add(file);
            list_catalog.Items.Add(Vars.GetFileName(file));
            hello.Visible = false;
        }
    }
}

private void button_play_Click(object sender, EventArgs e)
        {

                string current = Vars.Files[list_catalog.SelectedIndex];
                Vars.CurrentTrackNumber = list_catalog.SelectedIndex;
                BassLike.Play(current, BassLike.Volume);
                label_time1.Text = TimeSpan.FromSeconds(BassLike.GetPosOfStream(BassLike.Stream)).ToString();
                label_time2.Text = TimeSpan.FromSeconds(BassLike.GetTimeOfStream(BassLike.Stream)).ToString();
                xrewind.Maximum = BassLike.GetTimeOfStream(BassLike.Stream);
                xrewind.Value = BassLike.GetPosOfStream(BassLike.Stream);
                timer1.Enabled = true;

        }

1 个答案:

答案 0 :(得分:0)

我认为这会奏效......

string current = list_catalog.SelectedItem as string;
Vars.CurrentTrackNumber = Vars.Files.IndexOf(current);
相关问题