DataGridView.MultiSelect Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Получает или задает значение, указывающее, разрешено ли пользователю выбирать одновременно несколько ячеек, строк или столбцов объекта DataGridView.
public:
property bool MultiSelect { bool get(); void set(bool value); };
public bool MultiSelect { get; set; }
member this.MultiSelect : bool with get, set
Public Property MultiSelect As Boolean
Значение свойства
Значениеtrue
, если пользователь может выбирать одновременно несколько ячеек, строк или столбцов; в противном случае — значение false
. Значение по умолчанию — true
.
Примеры
В следующем примере кода показано, как использовать MultiSelect свойство . Чтобы выполнить этот пример, вставьте код в форму, содержащую DataGridView объект с именем dataGridView1
, а затем вызовите SetUpDataGridView
метод из конструктора формы или Load обработчика событий. Убедитесь, что все события связаны с обработчиками событий.
void SetUpDataGridView()
{
this->Controls->Add( dataGridView1 );
dataGridView1->ColumnCount = 5;
DataGridViewCellStyle^ style = dataGridView1->ColumnHeadersDefaultCellStyle;
style->BackColor = Color::Navy;
style->ForeColor = Color::White;
style->Font = gcnew System::Drawing::Font( dataGridView1->Font,FontStyle::Bold );
dataGridView1->EditMode = DataGridViewEditMode::EditOnEnter;
dataGridView1->Name = "dataGridView1";
dataGridView1->Location = Point(8,8);
dataGridView1->Size = System::Drawing::Size( 500, 300 );
dataGridView1->AutoSizeRowsMode = DataGridViewAutoSizeRowsMode::DisplayedCellsExceptHeaders;
dataGridView1->ColumnHeadersBorderStyle = DataGridViewHeaderBorderStyle::Raised;
dataGridView1->CellBorderStyle = DataGridViewCellBorderStyle::Single;
dataGridView1->GridColor = SystemColors::ActiveBorder;
dataGridView1->RowHeadersVisible = false;
dataGridView1->Columns[ 0 ]->Name = "Release Date";
dataGridView1->Columns[ 1 ]->Name = "Track";
dataGridView1->Columns[ 1 ]->DefaultCellStyle->Alignment = DataGridViewContentAlignment::MiddleCenter;
dataGridView1->Columns[ 2 ]->Name = "Title";
dataGridView1->Columns[ 3 ]->Name = "Artist";
dataGridView1->Columns[ 4 ]->Name = "Album";
// Make the font italic for row four.
dataGridView1->Columns[ 4 ]->DefaultCellStyle->Font = gcnew System::Drawing::Font( DataGridView::DefaultFont,FontStyle::Italic );
dataGridView1->SelectionMode = DataGridViewSelectionMode::FullRowSelect;
dataGridView1->MultiSelect = false;
dataGridView1->BackgroundColor = Color::Honeydew;
dataGridView1->Dock = DockStyle::Fill;
dataGridView1->CellFormatting += gcnew DataGridViewCellFormattingEventHandler( this, &Form1::dataGridView1_CellFormatting );
dataGridView1->CellParsing += gcnew DataGridViewCellParsingEventHandler( this, &Form1::dataGridView1_CellParsing );
addNewRowButton->Click += gcnew EventHandler( this, &Form1::addNewRowButton_Click );
deleteRowButton->Click += gcnew EventHandler( this, &Form1::deleteRowButton_Click );
ledgerStyleButton->Click += gcnew EventHandler( this, &Form1::ledgerStyleButton_Click );
dataGridView1->CellValidating += gcnew DataGridViewCellValidatingEventHandler( this, &Form1::dataGridView1_CellValidating );
}
private void SetUpDataGridView()
{
this.Controls.Add(dataGridView1);
dataGridView1.ColumnCount = 5;
DataGridViewCellStyle style =
dataGridView1.ColumnHeadersDefaultCellStyle;
style.BackColor = Color.Navy;
style.ForeColor = Color.White;
style.Font = new Font(dataGridView1.Font, FontStyle.Bold);
dataGridView1.EditMode = DataGridViewEditMode.EditOnEnter;
dataGridView1.Name = "dataGridView1";
dataGridView1.Location = new Point(8, 8);
dataGridView1.Size = new Size(500, 300);
dataGridView1.AutoSizeRowsMode =
DataGridViewAutoSizeRowsMode.DisplayedCellsExceptHeaders;
dataGridView1.ColumnHeadersBorderStyle =
DataGridViewHeaderBorderStyle.Raised;
dataGridView1.CellBorderStyle = DataGridViewCellBorderStyle.Single;
dataGridView1.GridColor = SystemColors.ActiveBorder;
dataGridView1.RowHeadersVisible = false;
dataGridView1.Columns[0].Name = "Release Date";
dataGridView1.Columns[1].Name = "Track";
dataGridView1.Columns[1].DefaultCellStyle.Alignment =
DataGridViewContentAlignment.MiddleCenter;
dataGridView1.Columns[2].Name = "Title";
dataGridView1.Columns[3].Name = "Artist";
dataGridView1.Columns[4].Name = "Album";
// Make the font italic for row four.
dataGridView1.Columns[4].DefaultCellStyle.Font = new Font(DataGridView.DefaultFont, FontStyle.Italic);
dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
dataGridView1.MultiSelect = false;
dataGridView1.BackgroundColor = Color.Honeydew;
dataGridView1.Dock = DockStyle.Fill;
dataGridView1.CellFormatting += new DataGridViewCellFormattingEventHandler(dataGridView1_CellFormatting);
dataGridView1.CellParsing += new DataGridViewCellParsingEventHandler(dataGridView1_CellParsing);
addNewRowButton.Click += new EventHandler(addNewRowButton_Click);
deleteRowButton.Click += new EventHandler(deleteRowButton_Click);
ledgerStyleButton.Click += new EventHandler(ledgerStyleButton_Click);
dataGridView1.CellValidating += new DataGridViewCellValidatingEventHandler(dataGridView1_CellValidating);
}
Private Sub SetUpDataGridView()
Me.Controls.Add(dataGridView1)
dataGridView1.ColumnCount = 5
With dataGridView1.ColumnHeadersDefaultCellStyle
.BackColor = Color.Navy
.ForeColor = Color.White
.Font = New Font(dataGridView1.Font, FontStyle.Bold)
End With
With dataGridView1
.EditMode = DataGridViewEditMode.EditOnEnter
.Name = "dataGridView1"
.Location = New Point(8, 8)
.Size = New Size(500, 300)
.AutoSizeRowsMode = _
DataGridViewAutoSizeRowsMode.DisplayedCellsExceptHeaders
.ColumnHeadersBorderStyle = _
DataGridViewHeaderBorderStyle.Raised
.CellBorderStyle = _
DataGridViewCellBorderStyle.Single
.GridColor = SystemColors.ActiveBorder
.RowHeadersVisible = False
.Columns(0).Name = "Release Date"
.Columns(1).Name = "Track"
.Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
.Columns(2).Name = "Title"
.Columns(3).Name = "Artist"
.Columns(4).Name = "Album"
' Make the font italic for row four.
.Columns(4).DefaultCellStyle.Font = _
New Font(Control.DefaultFont, _
FontStyle.Italic)
.SelectionMode = _
DataGridViewSelectionMode.FullRowSelect
.MultiSelect = False
.BackgroundColor = Color.Honeydew
.Dock = DockStyle.Fill
End With
End Sub
Комментарии
Если свойству MultiSelect присвоено значение true
, в элементе DataGridView управления можно выбрать несколько элементов (ячеек, строк или столбцов). Чтобы выбрать несколько элементов, пользователь может, удерживая нажатой клавишу CTRL, щелкнуть нужные элементы. Последовательные элементы можно выбрать, щелкнув первый элемент для выбора, а затем, удерживая клавишу SHIFT, щелкнув последний элемент для выбора. Выбор область основан на свойстве SelectionMode . Например, если SelectionMode задано значение DataGridViewSelectionMode.FullColumnSelect, пользователь может выбрать несколько столбцов.
Свойство можно использовать, MultiSelect чтобы разрешить пользователю выбирать несколько элементов в элементе DataGridView управления и выполнять операцию со всеми выбранными элементами. Например, пользователь может выбрать несколько ячеек, а затем щелкнуть выделенную ячейку правой кнопкой мыши, чтобы отобразить контекстное меню, в котором отображается набор задач для выполнения с выбранными ячейками.
Чтобы определить, какие ячейки, строки или столбцы выбраны в элементе DataGridView управления, можно получить доступ к свойству SelectedCells, SelectedRowsили SelectedColumns . Чтобы определить количество выбранных ячеек, вызовите GetCellCount метод со значением аргумента DataGridViewElementStates.Selected. Используйте метод , GetRowCount чтобы получить количество выбранных строк, и GetColumnCount метод , чтобы получить количество столбцов. Эти методы более эффективны, чем прямой доступ к коллекциям при работе с большими объемами данных. Подробнее см. в разделе Масштабирование элемента управления DataGridView в Windows Forms.