private void button_refreshNews_Click(object sender, EventArgs e) { Thread t = new Thread(() => { Invoke(new Action(() => { flowLayoutPanel1.Enabled = false; button_clearNewsCache.Enabled = false; button_chooseTopic.Enabled = false; button_refreshNews.Enabled = false; progressBar1.Visible = true; label_newsProg.Visible = true; })); var newsdata = NewsCache.RefreshNews(CurrentTopicId, progressBar1, label_newsProg); Invoke(new Action(() => { progressBar1.Value = 0; label_newsProg.Text = "..."; button_refreshNews.Enabled = true; flowLayoutPanel1.SuspendLayout(); flowLayoutPanel1.Controls.Clear(); foreach (var data in newsdata) { TopicBox tb = new TopicBox(); tb.Size = new Size(178 + 2 * tb.SelectionSize, 155 + 2 * tb.SelectionSize); tb.BackColor = SystemColors.Control; tb.TopicColor = Color.White; tb.Click += Tb_Click; tb.Topic = data; flowLayoutPanel1.Controls.Add(tb); } flowLayoutPanel1.ResumeLayout(); flowLayoutPanel1.Enabled = true; button_clearNewsCache.Enabled = true; button_chooseTopic.Enabled = true; button_refreshNews.Enabled = true; progressBar1.Visible = false; label_newsProg.Visible = false; })); }); t.IsBackground = true; t.Start(); }
private void button_clearNewsCache_Click(object sender, EventArgs e) { NewsCache.ClearCache(); }