private void DoWork(object sender, EventArgs e) { BackgroundWorker worker = sender as BackgroundWorker; if (worker == null) { return; } int prevHeight = -1; while (true) { string text = WebClient.DownloadString(@"https://api.blocktrail.com/v1/btc/block/latest?api_key=9467d3e54e43eff55455f03bfed34b7c1f5a73c7"); BlocktrailBlock latest = JsonConvert.DeserializeObject <BlocktrailBlock>(text); if (int.Parse(latest.Height) > prevHeight) { LatestBlocks.Add(latest); prevHeight = int.Parse(latest.Height); worker.ReportProgress(0, latest); } Thread.Sleep(PollDelayMillis); } }
private void ProgressChanged(object sender, ProgressChangedEventArgs e) { BlocktrailBlock latest = (BlocktrailBlock)e.UserState; _tray.ShowBalloonTip(25000, "BLOCK FOUND", latest.ToString(), ToolTipIcon.Info); }