private async void modifyCmd_Click(object sender, EventArgs e) { if (CurSel?.Location == null) { MessageBox.Show(this, "Error getting disk information", null, MessageBoxButtons.OK, MessageBoxIcon.Error); return; } var options = new List <MediumType> { MediumType.MediumType_Normal, MediumType.MediumType_Immutable, MediumType.MediumType_Shareable, MediumType.MediumType_MultiAttach }; if (!CurSel.HasChildren) { options.Add(MediumType.MediumType_Writethrough); } var dlg = new ModifyDlg(CurSel.Location, options.ToArray(), CurSel.MediumType); if (dlg.ShowDialog(this) == DialogResult.Cancel) { return; } await RunAsyncAction("Changing", async (t, p) => await Task.Run(() => { Medium.ChangeMediumType(CurSel.Location, dlg.MediumType); }, t), CurSel.UUID); }