示例#1
0
        private static bool GetSolutionFile(string[] startupArgs, ref string[] cachedSolutionFiles, ref string solutionFolder, out string fileName)
        {
            if (startupArgs?.Length > 0 && File.Exists(startupArgs[0]))
            {
                fileName = startupArgs[0];
                return(true);
            }
            else
            {
                frmOpenSolution dlg = new frmOpenSolution()
                {
                    SolutionFolder = solutionFolder,
                    SolutionFiles  = cachedSolutionFiles
                };

                while (true)
                {
                    if (dlg.ShowDialog() == DialogResult.OK)
                    {
                        fileName            = dlg.SelectedFilename;
                        solutionFolder      = dlg.SolutionFolder;
                        cachedSolutionFiles = dlg.SolutionFiles;
                        return(true);
                    }
                    else
                    {
                        solutionFolder      = dlg.SolutionFolder;
                        cachedSolutionFiles = dlg.SolutionFiles;
                        if (MessageBox.Show("Please select a solution or Cancel to exit.", "Open Solution", MessageBoxButtons.OKCancel) == DialogResult.Cancel)
                        {
                            break;
                        }
                    }
                }
            }

            fileName = null;
            return(false);
        }
示例#2
0
        private async void llOpenSolution_Click(object sender, EventArgs e)
        {
            try
            {
                frmOpenSolution dlg = new frmOpenSolution()
                {
                    SolutionFiles  = _settings.SolutionFiles?.ToArray(),
                    SolutionFolder = _settings.SolutionFolder
                };

                if (dlg.ShowDialog() == DialogResult.OK)
                {
                    await LoadSolutionAsync(dlg.SelectedFilename);
                }

                _settings.SolutionFolder = dlg.SolutionFolder;
                _settings.SolutionFiles  = dlg.SolutionFiles?.ToList();
            }
            catch (Exception exc)
            {
                MessageBox.Show(exc.Message);
            }
        }