protected override void OnShown(EventArgs e) { base.OnShown(e); if (Program.Updated) { MessageBox.Show(this, "تم تحديث البرنامج إلى آخر إصدار", Text, MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, MessageBoxOptions.RightAlign); } else Task<LatestVersionUpdateInfo>.Factory.StartNew(() => { return isLatestVersion(); }) .ContinueWith(t => { if (t.IsFaulted) return; if (!t.Result.IsLatestVersion && MessageBox.Show(this, "يتوفر إصدار أحدث " + t.Result.LatestVersion + " بتاريخ " + t.Result.PublishDate.ToString("yyyy-MM-dd") + "\nتحديث البرنامج الآن؟", Text, MessageBoxButtons.YesNo, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, MessageBoxOptions.RightAlign) == DialogResult.Yes) { using (var f = new FormUpdate()) f.StartUpdate(() => updateToLatestVersion(t.Result.DownloadUrl), this); } }, TaskScheduler.FromCurrentSynchronizationContext()); }