Как объединить две кнопки используя if

261
19 мая 2017, 12:51

Есть button Play и button Pause. Хочу объединить их в одну кнопку, чтобы когда композиция уже играет при нажатии ставилась пауза, а если стоит пауза то при нажатии композиция продолжалась. При разных попытках получалась ерунда. Подскажите как объединить.

private void button_play_Click(object sender, EventArgs e)
    {
        if ((list_catalog.Items.Count != 0) && (list_catalog.SelectedIndex != -1))
        {
            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;
        }
    }

private void button_pause_Click(object sender, EventArgs e)
    {
        BassLike.Pause();
    }
Answer 1
private bool playing = false;
private void button_Click(object sender, EventArgs e)
{
    if (playing)
    {
        BassLike.Pause();
        playing = false;
        return;
    } 
    if ((list_catalog.Items.Count != 0) && (list_catalog.SelectedIndex != -1))
    {
        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;
    }
}
READ ALSO
Отсчет времени в WPF

Отсчет времени в WPF

Имею класс, в классе есть две переменные long (UnixTime), они привязаны через Binding к ProgressBarТакже отдельно имеется класс, который переводит текущее...

408
Неявный принцип работы AutoResetEvent

Неявный принцип работы AutoResetEvent

Столкнулся с непонятным поведением механизма AutoResetEvent

279
Плавающий текст в Label

Плавающий текст в Label

В случае если текст длиннее чем Label, как сделать так, чтобы этот текст плыл в левую сторону, потом появлялся снова и после небольшой паузы снова...

289