System.Windows.Forms.ListBox.SelectedItemFromNavigation C# (CSharp) Method

SelectedItemFromNavigation() private method

private SelectedItemFromNavigation ( int index ) : void
index int
return void
		internal void SelectedItemFromNavigation (int index)
		{
			switch (SelectionMode) {
				case SelectionMode.None:
					// .Net doesn't select the item, only ensures that it's visible
					// and fires the selection related events
					EnsureVisible (index);
					OnSelectedIndexChanged (EventArgs.Empty);
					OnSelectedValueChanged (EventArgs.Empty);
					break;
				case SelectionMode.One: {
					SelectedIndex = index;
					break;
				}
				case SelectionMode.MultiSimple: {
					if (SelectedIndex == -1) {
						SelectedIndex = index;
					} else {

						if (SelectedIndices.Contains (index))
							SelectedIndices.Remove (index);
						else {
							SelectedIndices.AddCore (index);

							OnSelectedIndexChanged  (EventArgs.Empty);
							OnSelectedValueChanged (EventArgs.Empty);
						}
					}
					break;
				}
				
				case SelectionMode.MultiExtended: {
					if (SelectedIndex == -1) {
						SelectedIndex = index;
					} else {

						if (ctrl_pressed == false && shift_pressed == false) {
							SelectedIndices.Clear ();
						}
						
						if (shift_pressed == true) {
							ShiftSelection (index);
						} else { // ctrl_pressed or single item
							SelectedIndices.AddCore (index);

						}

						OnSelectedIndexChanged  (EventArgs.Empty);
						OnSelectedValueChanged (EventArgs.Empty);
					}
					break;
				}
				
				default:
					break;
			}
		}