From 958f523b9cbc5645fa50d67f63fc2c74beee0f68 Mon Sep 17 00:00:00 2001 From: mjjo Date: Tue, 6 Dec 2016 10:24:19 +0900 Subject: [PATCH] =?UTF-8?q?=EB=B8=8C=EB=9D=BC=EC=9A=B0=EC=A0=80=20?= =?UTF-8?q?=EB=8F=99=EC=9E=91=20=EA=B0=84=EC=86=8C=ED=99=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- NewsForm.cs | 33 ++++++++++++++++++++++++++++----- 1 file changed, 28 insertions(+), 5 deletions(-) diff --git a/NewsForm.cs b/NewsForm.cs index 10b442b..a6cc9e0 100644 --- a/NewsForm.cs +++ b/NewsForm.cs @@ -26,6 +26,7 @@ namespace NewsCrawler System.Timers.Timer m_CrawlTimer = new System.Timers.Timer(); int m_iCrawlInterval = 500; + bool m_bBrowserReload = false; @@ -134,12 +135,9 @@ namespace NewsCrawler lvList.Items.Add(new ListViewItem(new string[] { time.ToString("HH:mm:ss"), strTitle, strRef, strURL })); - if(chAutoSelect.Checked == true) + if(bInitial == false && chAutoSelect.Checked == true) { - lvList.Items[lvList.Items.Count - 1].Selected = true; - lvList.Select(); - if(lvList.SelectedItems.Count > 0) - lvList.SelectedItems[0].EnsureVisible(); + m_bBrowserReload = true; } foreach(ColumnHeader col in lvList.Columns) @@ -539,6 +537,29 @@ namespace NewsCrawler return bHasNew; } + private void UpdateBrowser() + { + if(lvList.InvokeRequired == true) + { + lvList.Invoke(new Action(UpdateBrowser)); + } + else + { + if(chAutoSelect.Checked == true && m_bBrowserReload == true) + { + if(lvList.SelectedItems.Count == 0 || lvList.SelectedItems[0].Index != lvList.Items.Count-1) + { + lvList.Items[lvList.Items.Count - 1].Selected = true; + lvList.Select(); + if(lvList.SelectedItems.Count > 0) + lvList.SelectedItems[0].EnsureVisible(); + } + + m_bBrowserReload = false; + } + } + } + private void CrawlTimer_Tick(object sender, EventArgs e) { m_CrawlTimer.Enabled = false; @@ -554,6 +575,8 @@ namespace NewsCrawler ReadFinacialNews(); } + UpdateBrowser(); + m_CrawlTimer.Interval = m_iCrawlInterval; m_CrawlTimer.Enabled = true; }