Страницы

Поиск по вопросам

понедельник, 6 января 2020 г.

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

#c_sharp #winforms


Есть 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();
    }

    


Ответы

Ответ 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; playing = true; } }

Комментариев нет:

Отправить комментарий