public static (DialogResult, DownloadConfig) ShowModal([CanBeNull] IWin32Window window) { DialogResult r; DownloadConfig config; using (var f = new FManifestDownload()) { r = f.ShowDialog(window); config = f.Config; } return(r, config); }
private async void MnuFileOpenRemote_Click(object sender, EventArgs e) { var(r, config) = FManifestDownload.ShowModal(this); if (r == DialogResult.Cancel) { return; } Debug.Assert(config != null); byte[] assetInfoListData; try { assetInfoListData = await TDDownloader.DownloadData(config.ResourceVersion, config.ManifestAssetName); } catch (Exception ex) { MessageBox.Show(ex.ToString(), ApplicationHelper.GetApplicationTitle(), MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } var b = AssetInfoList.TryParse(assetInfoListData, out var assetInfoList); if (!b) { const string message = "Received data is not a valid asset database file."; MessageBox.Show(message, ApplicationHelper.GetApplicationTitle(), MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } Debug.Assert(assetInfoList != null); var opening = ManifestOpening.Remote(config.ResourceVersion, config.IsLatest); var form = new FManifest(assetInfoList, opening, config); form.MdiParent = this; form.Show(); }