Show / Hide Table of Contents

# Class ComboBox

ComboBox control

##### Inheritance

System.Object
Responder
View
ComboBox

##### Implements

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

##### Inherited Members

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.CanFocus
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.Add(View[])
View.RemoveAll()
View.Remove(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.Focused
View.MostFocused
View.AddRune(Int32, Int32, Rune)
View.ClearNeedsDisplay()
View.DrawContent
View.OnDrawContent(Rect)
View.SetFocus()
View.KeyPress
View.ProcessHotKey(KeyEvent)
View.ProcessColdKey(KeyEvent)
View.KeyDown
View.OnKeyDown(KeyEvent)
View.KeyUp
View.OnKeyUp(KeyEvent)
View.EnsureFocus()
View.FocusFirst()
View.FocusLast()
View.FocusPrev()
View.FocusNext()
View.LayoutStarted
View.LayoutComplete
View.Initialized
View.LayoutSubviews()
View.AutoSize
View.TextAlignment
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 ComboBox : View, IDisposable, ISupportInitializeNotification, ISupportInitialize

### Constructors

#### ComboBox()

Public constructor

##### Declaration

    public ComboBox()

#### ComboBox(ustring)

Public constructor

##### Declaration

    public ComboBox(ustring text)

##### Parameters

Type | Name | Description
--- | --- | ---
NStack.ustring | text |

#### ComboBox(Rect, IList)

Public constructor

##### Declaration

    public ComboBox(Rect rect, IList source)

##### Parameters

Type | Name | Description
--- | --- | ---
Rect | rect |
System.Collections.IList | source |

### Properties

#### ColorScheme

##### Declaration

    public ColorScheme ColorScheme { get; set; }

##### Property Value

Type | Description
--- | ---
ColorScheme |

#### SelectedItem

Gets the index of the currently selected item in the Source

##### Declaration

    public int SelectedItem { get; }

##### Property Value

Type | Description
--- | ---
System.Int32 | The selected item or -1 none selected.

#### Source

Gets or sets the IListDataSource backing this ComboBox, enabling custom rendering.

##### Declaration

    public IListDataSource Source { get; set; }

##### Property Value

Type | Description
--- | ---
IListDataSource | The source.

##### Remarks

Use SetSource(IList) to set a new System.Collections.IList source.

#### Text

The currently selected list item

##### Declaration

    public ustring Text { get; set; }

##### Property Value

Type | Description
--- | ---
NStack.ustring |

### Methods

#### MouseEvent(MouseEvent)

Method invoked when a mouse event is generated

##### Declaration

    public override bool MouseEvent(MouseEvent me)

##### Parameters

Type | Name | Description
--- | --- | ---
MouseEvent | me |

##### Returns

Type | Description
--- | ---
System.Boolean | `true`, if the event was handled, `false` otherwise.

##### Overrides

Responder.MouseEvent(MouseEvent)

#### OnEnter(View)

Method invoked when a view gets focus.

##### Declaration

    public override bool OnEnter(View view)

##### Parameters

Type | Name | Description
--- | --- | ---
View | view | The view that is losing focus.

##### Returns

Type | Description
--- | ---
System.Boolean | `true`, if the event was handled, `false` otherwise.

##### Overrides

View.OnEnter(View)

#### OnLeave(View)

Method invoked when a view loses focus.

##### Declaration

    public override bool OnLeave(View view)

##### Parameters

Type | Name | Description
--- | --- | ---
View | view | The view that is getting focus.

##### Returns

Type | Description
--- | ---
System.Boolean | `true`, if the event was handled, `false` otherwise.

##### Overrides

View.OnLeave(View)

#### OnOpenSelectedItem()

Invokes the OnOpenSelectedItem event if it is defined.

##### Declaration

    public virtual bool OnOpenSelectedItem()

##### Returns

Type | Description
--- | ---
System.Boolean |

#### OnSelectedChanged()

Invokes the SelectedChanged event if it is defined.

##### Declaration

    public virtual bool OnSelectedChanged()

##### Returns

Type | Description
--- | ---
System.Boolean |

#### ProcessKey(KeyEvent)

If the view is focused, gives the view a chance to process the keystroke.

##### Declaration

    public override bool ProcessKey(KeyEvent e)

##### Parameters

Type | Name | Description
--- | --- | ---
KeyEvent | e |

##### Returns

Type | Description
--- | ---
System.Boolean |

##### Overrides

View.ProcessKey(KeyEvent)

##### Remarks

Views can override this method if they are interested in processing the given keystroke. If they consume the keystroke, they must return true to stop the keystroke from being processed by other widgets or consumed by the widget engine. If they return false, the keystroke will be passed using the ProcessColdKey method to other views to process.

The View implementation does nothing but return false, so it is not necessary to call base.ProcessKey if you derive directly from View, but you should if you derive other View subclasses.

#### Redraw(Rect)

Redraws this view and its subviews; only redraws the views that have been flagged for a re-display.

##### Declaration

    public override void Redraw(Rect bounds)

##### Parameters

Type | Name | Description
--- | --- | ---
Rect | bounds | The bounds (view-relative region) to redraw.

##### Overrides

View.Redraw(Rect)

##### Remarks

Always use Bounds (view-relative) when calling Redraw(Rect), NOT Frame (superview-relative).

Views should set the color that they want to use on entry, as otherwise this will inherit the last color that was set globally on the driver.

Overrides of Redraw(Rect) must ensure they do not set `Driver.Clip` to a clip region larger than the `region` parameter.

#### SetSource(IList)

Sets the source of the ComboBox to an System.Collections.IList.

##### Declaration

    public void SetSource(IList source)

##### Parameters

Type | Name | Description
--- | --- | ---
System.Collections.IList | source |

##### Remarks

Use the Source property to set a new IListDataSource source and use custome rendering.

### Events

#### OpenSelectedItem

This event is raised when the user Double Clicks on an item or presses ENTER to open the selected item.

##### Declaration

    public event Action<ListViewItemEventArgs> OpenSelectedItem

##### Event Type

Type | Description
--- | ---
System.Action<ListViewItemEventArgs> |

#### SelectedItemChanged

This event is raised when the selected item in the ComboBox has changed.

##### Declaration

    public event Action<ListViewItemEventArgs> SelectedItemChanged

##### Event Type

Type | Description
--- | ---
System.Action<ListViewItemEventArgs> |

### Implements

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