在C#中,DataGridView
控件默認情況下不支持多選
設置MultiSelect
屬性:將DataGridView
的MultiSelect
屬性設置為true
。這樣,用戶就可以按住Ctrl或Shift鍵來選擇多個單元格或行。
dataGridView1.MultiSelect = true;
設置SelectionMode
屬性:根據需要設置DataGridView
的SelectionMode
屬性。例如,如果你想允許用戶選擇多行,可以將SelectionMode
設置為FullRowSelect
。
dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
使用鼠標拖動選擇:若要啟用用戶通過拖動鼠標來選擇多個單元格或行的功能,請將DataGridView
的MultiSelect
屬性設置為true
,并將SelectionMode
屬性設置為CellSelect
或RowHeaderSelect
。
自定義多選行為:若要實現更高級的多選功能,可以處理DataGridView
的CellMouseDown
、CellMouseMove
和CellMouseUp
事件,以便在用戶拖動鼠標時選擇多個單元格或行。
獲取選定的單元格和行:要獲取用戶選定的所有單元格和行,可以使用DataGridView
的SelectedCells
和SelectedRows
屬性。例如,以下代碼將輸出選定單元格的數量和選定行的數量:
int selectedCellCount = dataGridView1.SelectedCells.Count;
int selectedRowCount = dataGridView1.SelectedRows.Count;
Console.WriteLine($"Selected cells: {selectedCellCount}, Selected rows: {selectedRowCount}");
遍歷選定的單元格和行:要遍歷用戶選定的所有單元格和行,可以使用foreach
循環。例如,以下代碼將輸出選定單元格的值和選定行的索引:
foreach (DataGridViewCell cell in dataGridView1.SelectedCells)
{
Console.WriteLine($"Cell value: {cell.Value}");
}
foreach (DataGridViewRow row in dataGridView1.SelectedRows)
{
Console.WriteLine($"Row index: {row.Index}");
}
通過以上方法,你可以在C#中實現DataGridView
的多選功能。