Продолжайте открывать OpenFileDialog, пока не выберите правильный файл

У меня есть код, который открывает OpenFileDialog, я проверяю размер файла, чтобы убедиться, что он не превышает определенный предел. Но, если пользователь выбрал файл большого размера, мне нужно предупредить его и привести его обратно в диалоговое окно, чтобы выбрать другой файл, или нажать кнопку «Отмена».

Это то, что я пробовал:

        OpenFileDialog dialog = new OpenFileDialog();
        dialog.Filter = "Jpeg files, PDF files, Word files|*.jpg;*.pdf;*.doc;*.docx";
        while (dialog.ShowDialog() != DialogResult.Cancel)
        {
                var size = new FileInfo(dialog.FileName).Length;
                if (size > 250000)
                {
                    MessageBox.Show("File size exceeded");
                    continue;
                }
        }

РЕДАКТИРОВАТЬ: Я также попробовал следующий код, но он открывает диалог каждый раз, когда вызывается ShowDialog. Таким образом, если пользователь выбрал файл, размер которого в 3 раза превышает предел, диалоговое окно появится 3 раза.

  OpenFileDialog dialog = new OpenFileDialog();
        dialog.Filter = "Jpeg files, PDF files, Word files|*.jpg;*.pdf;*.doc;*.docx";
        dialog.FileOk += delegate(object s, CancelEventArgs ev)
        {
            var size = new FileInfo(dialog.FileName).Length;
            if (size > 250000)
            {
                XtraMessageBox.Show("File size");
                dialog.ShowDialog();
            }
        };
        if (dialog.ShowDialog() == DialogResult.OK)
        {
            XtraMessageBox.Show("File Selected");
        }

Ответы на вопрос(4)

Ваш ответ на вопрос