DataGridView.MultiSelect Właściwość

Definicja

Pobiera lub ustawia wartość wskazującą, czy użytkownik może wybrać więcej niż jedną komórkę, wiersz lub kolumnę w danej DataGridView chwili.Gets or sets a value indicating whether the user is allowed to select more than one cell, row, or column of the DataGridView at a time.

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

Wartość właściwości

Boolean

true Jeśli użytkownik może wybrać więcej niż jedną komórkę, wiersz lub kolumnę jednocześnie; w przeciwnym razie false .true if the user can select more than one cell, row, or column at a time; otherwise, false. Wartość domyślna to true.The default is true.

Przykłady

Poniższy przykład kodu demonstruje, jak używać MultiSelect właściwości.The following code example demonstrates how to use the MultiSelect property. Aby uruchomić ten przykład, wklej kod do formularza, który zawiera DataGridView nazwę dataGridView1 , a następnie Wywołaj SetUpDataGridView metodę z konstruktora lub Load procedury obsługi zdarzeń.To run this example, paste the code into a form that contains a DataGridView named dataGridView1, and then call the SetUpDataGridView method from the form's constructor or Load event handler. Upewnij się, że wszystkie zdarzenia są skojarzone z ich obsługą zdarzeń.Ensure all events are associated with their event handlers.

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

Uwagi

Gdy MultiSelect Właściwość jest ustawiona na true , można wybrać wiele elementów (komórek, wierszy lub kolumn) w DataGridView kontrolce.When the MultiSelect property is set to true, multiple elements (cells, rows, or columns) can be selected in the DataGridView control. Aby zaznaczyć wiele elementów, użytkownik może trzymać wciśnięty klawisz CTRL podczas klikania elementów do wybrania.To select multiple elements, the user can hold down the CTRL key while clicking the elements to select. Można wybrać kolejne elementy, klikając pierwszy element do wybrania, a następnie przytrzymując wciśnięty klawisz SHIFT, klikając ostatni element do wybrania.Consecutive elements can be selected by clicking the first element to select and then, while holding down the SHIFT key, clicking the last element to select. Zakres wyboru jest oparty na SelectionMode właściwości.The selection scope is based on the SelectionMode property. Na przykład jeśli SelectionMode jest ustawiona na DataGridViewSelectionMode.FullColumnSelect , użytkownik może wybrać wiele kolumn.For example, if SelectionMode is set to DataGridViewSelectionMode.FullColumnSelect, the user can select multiple columns.

Możesz użyć właściwości, MultiSelect Aby zezwolić użytkownikowi na wybranie wielu elementów w DataGridView kontrolce i wykonanie operacji na wszystkich wybranych elementach.You can use the MultiSelect property to allow a user to select multiple elements in the DataGridView control and perform an operation on all the selected elements. Na przykład użytkownik może zaznaczyć wiele komórek, a następnie kliknąć prawym przyciskiem myszy wybraną komórkę, aby wyświetlić menu skrótów, które wyświetla zestaw zadań do wykonania dla wybranych komórek.For example, the user could select multiple cells and then right-click a selected cell to display a shortcut menu that displays a set of tasks to perform on the selected cells.

Aby określić, które komórki, wiersze lub kolumny są zaznaczone w DataGridView formancie, można uzyskać dostęp do SelectedCells właściwości, SelectedRows , lub SelectedColumns .To determine which cells, rows, or columns are selected in the DataGridView control, you can access the SelectedCells, SelectedRows, or SelectedColumns property. Aby określić liczbę zaznaczonych komórek, wywołaj GetCellCount metodę z wartością argumentu DataGridViewElementStates.Selected .To determine the number of selected cells, call the GetCellCount method with an argument value of DataGridViewElementStates.Selected. Użyj GetRowCount metody, aby pobrać liczbę wybranych wierszy i GetColumnCount metodę w celu pobrania liczby kolumn.Use the GetRowCount method to retrieve the number of selected rows and the GetColumnCount method to retrieve the number of columns. Te metody są wydajniejsze niż dostęp do kolekcji bezpośrednio podczas pracy z dużymi ilościami danych.These methods are more efficient than accessing the collections directly when working with large amounts of data. Aby uzyskać więcej informacji, zobacz najlepsze rozwiązania dotyczące skalowania Windows Forms formantu DataGridView.For more information, see Best Practices for Scaling the Windows Forms DataGridView Control.

Dotyczy