private void Btn_Click(object sender, EventArgs e) { var btn = sender as Button; if (btn?.Tag == null) { return; } ProgramInfo info = (ProgramInfo)btn.Tag; if (SelectedPrograms.Contains(info)) { SelectedPrograms.Remove(info); btn.BackColor = Color.FromArgb(38, 50, 56); } else { SelectedPrograms.Add(info); btn.BackColor = Color.FromArgb(78, 100, 106); } if (SelectedPrograms.Count > 0) { lblCount.Text = SelectedPrograms.Count + " valda"; } else { lblCount.Text = string.Empty; } }
private void _worker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { foreach (Button oldButton in panelPrograms.Controls) { oldButton.MouseEnter -= Btn_MouseEnter; oldButton.Click -= Btn_Click; } panelPrograms.Controls.Clear(); int i = 0; var font = new Font("Roboto", 11); foreach (var program in _worker.Info.Programs) { if (program.StopTime < DateTime.Now) { continue; } var btn = new Button { Text = program.TimeAndTitle, BackColor = SelectedPrograms.Contains(program) ? Color.FromArgb(78, 100, 106) : Color.FromArgb(38, 50, 56), Location = new Point(5, 15 + i * 36), Size = new Size(360, 36), Tag = program, ForeColor = Color.White, Font = font, TextAlign = ContentAlignment.MiddleLeft }; if (QueuedPrograms.Contains(program)) { btn.Enabled = false; btn.Text += " (redan köad)"; } btn.MouseEnter += Btn_MouseEnter; btn.Click += Btn_Click; panelPrograms.Controls.Add(btn); i++; } SetControlsEnabled(true); }