public void DownloadStringAsyncWithTimeout(Uri address) { if (_timer == null) { _timer = new Calculagraph(this); _timer.Timeout = Timeout; _timer.TimeOver += new TimeoutCaller(_timer_TimeOver); this.DownloadProgressChanged += new DownloadProgressChangedEventHandler(HttpClient_DownloadProgressChanged); } DownloadStringAsync(address); _timer.Start(); }