BetterExplorer.MainWindow.btnAdvMountIso_Click C# (CSharp) Method

btnAdvMountIso_Click() private method

private btnAdvMountIso_Click ( object sender, RoutedEventArgs e ) : void
sender object
e RoutedEventArgs
return void
    private void btnAdvMountIso_Click(object sender, RoutedEventArgs e) {
      if (!CheckImDiskInstalled()) {
        ShowInstallImDiskMessage();
        return;
      }

      var mi = new MountIso() { Owner = this };
      mi.ShowDialog();
      if (mi.yep) {
        string DriveLetter = String.Format("{0}:", mi.chkPreselect.IsChecked == true ? ImDiskAPI.FindFreeDriveLetter() : (char)mi.cbbLetter.SelectedItem);
        long size = mi.chkPresized.IsChecked == true ? 0 : Convert.ToInt64(mi.txtSize.Text);

        ImDiskFlags imflags;
        switch (mi.cbbType.SelectedIndex) {
          case 0:
            //Hard Drive
            imflags = ImDiskFlags.DeviceTypeHD;
            break;
          case 1:
            // CD/DVD
            imflags = ImDiskFlags.DeviceTypeCD;
            break;
          case 2:
            // Floppy Disk
            imflags = ImDiskFlags.DeviceTypeFD;
            break;
          case 3:
            // Raw Data
            imflags = ImDiskFlags.DeviceTypeRAW;
            break;
          default:
            imflags = ImDiskFlags.DeviceTypeCD;
            break;
        }

        switch (mi.cbbAccess.SelectedIndex) {
          case 0:
            // Access directly
            imflags |= ImDiskFlags.FileTypeDirect;
            break;
          case 1:
            // Copy to memory
            imflags |= ImDiskFlags.FileTypeAwe;
            break;
          default:
            imflags |= ImDiskFlags.FileTypeDirect;
            break;
        }

        if (mi.chkRemovable.IsChecked == true)
          imflags |= ImDiskFlags.Removable;
        if (mi.chkReadOnly.IsChecked == true)
          imflags |= ImDiskFlags.ReadOnly;

        ImDiskAPI.CreateDevice(size, 0, 0, 0, 0, imflags, _ShellListView.GetFirstSelectedItem().ParsingName, false, DriveLetter, IntPtr.Zero);
      }
    }
MainWindow