/// <summary> /// Show a configuration dialog (modal) for JMDWriter /// </summary> /// <param name="threads">number of threads</param> /// <param name="compLevel">compression level</param> /// <param name="tMin">minimum possible number of threads</param> /// <param name="tMax">maximum possible number of threads</param> /// <param name="cMin">minimum compression level, assumed to be "no compression"</param> /// <param name="cMax">maximum compression level</param> /// <param name="hwnd">hwnd of parent</param> /// <returns>false if user canceled; true if user consented</returns> public static bool DoCompressionDlg(ref int threads, ref int compLevel, int tMin, int tMax, int cMin, int cMax, IWin32Window hwnd) { var j = new JmdForm { threadsBar = { Minimum = tMin, Maximum = tMax }, compressionBar = { Minimum = cMin, Maximum = cMax } }; j.threadsBar.Value = threads; j.compressionBar.Value = compLevel; j.ThreadsBar_Scroll(null, null); j.CompressionBar_Scroll(null, null); j.threadLeft.Text = $"{tMin}"; j.threadRight.Text = $"{tMax}"; j.compressionLeft.Text = $"{cMin}"; j.compressionRight.Text = $"{cMax}"; DialogResult d = j.ShowDialog(hwnd); threads = j.threadsBar.Value; compLevel = j.compressionBar.Value; j.Dispose(); return(d.IsOk()); }