コード例 #1
0
        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);
        }
コード例 #2
0
 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);
     }
 }
コード例 #3
0
        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);
        }