Show / Hide Table of Contents

# Class OpenDialog

The OpenDialogprovides an interactive dialog box for users to select files or directories.

##### Inheritance

System.Object
Responder
View
Toplevel
Window
Dialog
FileDialog
OpenDialog

##### Implements

System.IDisposable
System.ComponentModel.ISupportInitializeNotification
System.ComponentModel.ISupportInitialize

##### Inherited Members

FileDialog.WillPresent()
FileDialog.Prompt
FileDialog.NameFieldLabel
FileDialog.Message
FileDialog.CanCreateDirectories
FileDialog.IsExtensionHidden
FileDialog.DirectoryPath
FileDialog.AllowedFileTypes
FileDialog.AllowsOtherFileTypes
FileDialog.FilePath
FileDialog.Canceled
Dialog.AddButton(Button)
Dialog.ProcessKey(KeyEvent)
Window.Title
Window.Add(View)
Window.Remove(View)
Window.RemoveAll()
Window.Redraw(Rect)
Window.MouseEvent(MouseEvent)
Window.Text
Window.TextAlignment
Toplevel.Running
Toplevel.Loaded
Toplevel.Ready
Toplevel.Unloaded
Toplevel.Create()
Toplevel.CanFocus
Toplevel.Modal
Toplevel.MenuBar
Toplevel.StatusBar
Toplevel.OnKeyDown(KeyEvent)
Toplevel.OnKeyUp(KeyEvent)
Toplevel.ProcessColdKey(KeyEvent)
View.Added
View.Removed
View.Enter
View.Leave
View.MouseEnter
View.MouseLeave
View.MouseClick
View.HotKey
View.HotKeySpecifier
View.Shortcut
View.ShortcutTag
View.ShortcutAction
View.Data
View.Driver
View.Subviews
View.TabIndexes
View.TabIndex
View.TabStop
View.Id
View.IsCurrentTop
View.WantMousePositionReports
View.WantContinuousButtonPressed
View.Frame
View.LayoutStyle
View.Bounds
View.X
View.Y
View.Width
View.Height
View.SuperView
View.SetNeedsDisplay()
View.SetNeedsDisplay(Rect)
View.ChildNeedsDisplay()
View.Add(View[])
View.BringSubviewToFront(View)
View.SendSubviewToBack(View)
View.SendSubviewBackwards(View)
View.BringSubviewForward(View)
View.Clear()
View.Clear(Rect)
View.ScreenToView(Int32, Int32)
View.ClipToBounds()
View.SetClip(Rect)
View.DrawFrame(Rect, Int32, Boolean)
View.DrawHotString(ustring, Attribute, Attribute)
View.DrawHotString(ustring, Boolean, ColorScheme)
View.Move(Int32, Int32)
View.PositionCursor()
View.HasFocus
View.OnAdded(View)
View.OnRemoved(View)
View.OnEnter(View)
View.OnLeave(View)
View.Focused
View.MostFocused
View.ColorScheme
View.AddRune(Int32, Int32, Rune)
View.ClearNeedsDisplay()
View.DrawContent
View.OnDrawContent(Rect)
View.SetFocus()
View.KeyPress
View.ProcessHotKey(KeyEvent)
View.KeyDown
View.KeyUp
View.EnsureFocus()
View.FocusFirst()
View.FocusLast()
View.FocusPrev()
View.FocusNext()
View.LayoutStarted
View.LayoutComplete
View.Initialized
View.LayoutSubviews()
View.AutoSize
View.IsInitialized
View.ToString()
View.OnMouseEnter(MouseEvent)
View.OnMouseLeave(MouseEvent)
View.OnMouseEvent(MouseEvent)
View.OnMouseClick(View.MouseEventArgs)
View.Dispose(Boolean)
View.BeginInit()
View.EndInit()
View.Visible
Responder.Dispose()
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)

###### Namespace: Terminal.Gui

###### Assembly: Terminal.Gui.dll

##### Syntax

    public class OpenDialog : FileDialog, IDisposable, ISupportInitializeNotification, ISupportInitialize

##### Remarks

The open dialog can be used to select files for opening, it can be configured to allow multiple items to be selected (based on the AllowsMultipleSelection) variable and you can control whether this should allow files or directories to be selected.

To use, create an instance of OpenDialog, and pass it to Run(). This will run the dialog modally, and when this returns, the list of filds will be available on the FilePaths property.

To select more than one file, users can use the spacebar, or control-t.

### Constructors

#### OpenDialog()

Initializes a new OpenDialog.

##### Declaration

    public OpenDialog()

#### OpenDialog(ustring, ustring)

Initializes a new OpenDialog.

##### Declaration

    public OpenDialog(ustring title, ustring message)

##### Parameters

Type | Name | Description
--- | --- | ---
NStack.ustring | title |
NStack.ustring | message |

### Properties

#### AllowsMultipleSelection

Gets or sets a value indicating whether this OpenDialog allows multiple selection.

##### Declaration

    public bool AllowsMultipleSelection { get; set; }

##### Property Value

Type | Description
--- | ---
System.Boolean | `true` if allows multiple selection; otherwise, `false`, defaults to false.

#### CanChooseDirectories

Gets or sets a value indicating whether this OpenDialog can choose directories.

##### Declaration

    public bool CanChooseDirectories { get; set; }

##### Property Value

Type | Description
--- | ---
System.Boolean | `true` if can choose directories; otherwise, `false` defaults to `false`.

#### CanChooseFiles

Gets or sets a value indicating whether this OpenDialog can choose files.

##### Declaration

    public bool CanChooseFiles { get; set; }

##### Property Value

Type | Description
--- | ---
System.Boolean | `true` if can choose files; otherwise, `false`. Defaults to `true`

#### FilePaths

Returns the selected files, or an empty list if nothing has been selected

##### Declaration

    public IReadOnlyList<string> FilePaths { get; }

##### Property Value

Type | Description
--- | ---
System.Collections.Generic.IReadOnlyList<System.String> | The file paths.

### Implements

System.IDisposable
System.ComponentModel.ISupportInitializeNotification
System.ComponentModel.ISupportInitialize