If enabled, record selection behavior is determined by the SelectionMode property. By default, this property is set to One, and the user can select one row with the mouse. When the user clicks a row, that row is selected and highlighted, and any rows or columns that were previously selected are deselected. The newly selected row also becomes the current row.
However, unlike column selections, nonadjacent row selections are supported. If the user holds down the Ctrl key while making the selection, the current row does not change, and any previously selected rows remain selected (when the SelectionMode property is set to MultiExtended). This technique also enables the user to select multiple rows, one at a time. Since selected rows do not have to be adjacent, the user can also operate the vertical scroll bar to bring other rows into view if desired.
The user can also select a range of contiguous rows by clicking the first row in the range, then holding down the Shift key and clicking the last row in the range. If necessary, the vertical scroll bar can be used to bring additional rows into view.
Regardless of the value of SelectionMode, the user can deselect all rows by selecting columns.
You can prevent a row selection from occurring at run time by setting the Cancel argument to True in the list's SelectionChanging event.