我有打开 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");
}