protected virtual string OnFileDialogRequest(FileDialogTypes dialogType, string initialDirectory, string fileName, string filter, int filterIndex) { var handler = FileDialogRequest; if (handler != null) { var e = new FileDialogRequestEventArgs() { FileDialogType = dialogType, InitialDirectory = initialDirectory, FileName = fileName, Filter = filter, FilterIndex = filterIndex }; handler.Invoke(this, e); if (e.DialogResult == DialogResult.OK) { return(e.FileName); } } return(String.Empty); }
private void _controller_FileDialogRequest(object sender, FileDialogRequestEventArgs e) { try { if (e.FileDialogType == FileDialogRequestEventArgs.FileDialogTypes.Open) { e.DialogResult = ControllerDisplayOpenFileDialog(this, e); } else if (e.FileDialogType == FileDialogRequestEventArgs.FileDialogTypes.Save) { e.DialogResult = ControllerDisplaySaveFileDialog(this, e); } else if (e.FileDialogType == FileDialogRequestEventArgs.FileDialogTypes.SelectFolder) { throw new NotImplementedException(); } } catch (Exception ex) { ExceptionHandler(ex); } }
protected virtual DialogResult ControllerDisplayOpenFileDialog(IWin32Window owner, FileDialogRequestEventArgs e) { if (this.InvokeRequired) { e.DialogResult = (DialogResult)Invoke(new Func <DialogResult>( () => { var dialog = new OpenFileDialog() { InitialDirectory = e.InitialDirectory, Filter = e.Filter, FilterIndex = e.FilterIndex, FileName = e.FileName }; e.DialogResult = dialog.ShowDialog(owner); if (e.DialogResult == DialogResult.OK) { e.FileName = dialog.FileName; } return(e.DialogResult); })); } else { var dialog = new OpenFileDialog() { InitialDirectory = e.InitialDirectory, Filter = e.Filter, FilterIndex = e.FilterIndex, FileName = e.FileName }; e.DialogResult = dialog.ShowDialog(this); if (e.DialogResult == DialogResult.OK) { e.FileName = dialog.FileName; } } return(e.DialogResult); }