Beispiel #1
0
        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();
        }
Beispiel #2
0
 private void button_clearNewsCache_Click(object sender, EventArgs e)
 {
     NewsCache.ClearCache();
 }