При использовании OpenFileDialog я вижу сбой Assertion при попытке закрыть форму, как я могу это исправить? - PullRequest
0 голосов
/ 27 ноября 2018

Я добавил OpenFileDialog к моей кнопке (называемой «Обзор»), которая должна открыть диалоговое окно, получить имя файла и вернуть его мне.

using System;
using System.IO;
using System.Windows.Forms;

namespace WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            string lastFileOpenPath = "";

            using (OpenFileDialog ofd = new OpenFileDialog())
            {

                ofd.Title = "Please choose the file";
                ofd.InitialDirectory = (Directory.Exists(lastFileOpenPath) ? lastFileOpenPath : @"C:\");

                string archiveExt = "";
                for (int cn = 1; cn <= 50; cn++)
                    archiveExt += (archiveExt == "" ? "" : ";") + "*." + cn.ToString().PadLeft(3, '0');
                ofd.Filter = "Archive File (*.rar)|*.rar|Archive Files (*.###)|" + archiveExt + "|All Supported Files (*.rar, *.###)|" + archiveExt + ";*.rar";

                ofd.FilterIndex = 3;
                ofd.RestoreDirectory = true;
                if (ofd.ShowDialog() == DialogResult.OK && File.Exists(ofd.FileName))
                {
                    FilePath.Text = ofd.FileName;
                    lastFileOpenPath = Path.GetDirectoryName(FilePath.Text);
                }
            }
        }
    }
}

По какой-либо причине любойКогда я нажимаю кнопку Browse (даже если я ничего не делаю и нажимаю "Отмена"), а затем пытаюсь закрыть открытую форму, я получаю следующее сообщение в окне Output.Сообщение не появляется, если я открою форму, затем закрою ее.Он появляется, если я открою форму, нажму кнопку «Обзор», нажму «Отмена» и закрою форму.

Утверждение не выполнено: успешное выполнение WSASTARTUP еще не выполнено (........ \ src\ signaler.cpp: 194)

Можно ли объяснить это так, чтобы "ошибка" (если это ошибка) не появлялась в окне Output?Я не спрашиваю, потому что это раздражает, мне наплевать на сообщение в окне вывода отладки.Я спрашиваю из-за оптимизации.

...