Freigeben über


DataGridView.MultiSelect Eigenschaft

Definition

Ruft einen Wert ab oder legt einen Wert fest, der angibt, ob mehr als eine Zelle, Zeile oder Spalte der DataGridView zum gleichen Zeitpunkt ausgewählt werden kann.

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

Eigenschaftswert

true , wenn mehrere Zellen, Zeilen oder Spalten zum gleichen Zeitpunkt ausgewählt werden können, andernfalls false. Der Standardwert ist true.

Beispiele

Im folgenden Codebeispiel wird die Verwendung der MultiSelect -Eigenschaft veranschaulicht. Fügen Sie zum Ausführen dieses Beispiels den Code in ein Formular ein, das einen DataGridView namen dataGridView1enthält, und rufen Sie dann die SetUpDataGridView Methode aus dem Konstruktor oder Load Ereignishandler des Formulars auf. Stellen Sie sicher, dass alle Ereignisse ihren Ereignishandlern zugeordnet sind.

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

Hinweise

Wenn die MultiSelect -Eigenschaft auf truefestgelegt ist, können mehrere Elemente (Zellen, Zeilen oder Spalten) im DataGridView Steuerelement ausgewählt werden. Um mehrere Elemente auszuwählen, kann der Benutzer die STRG-TASTE gedrückt halten, während er auf die auszuwählenden Elemente klickt. Aufeinanderfolgende Elemente können ausgewählt werden, indem Sie auf das erste Element klicken, um auszuwählen, und dann, wenn Sie die UMSCHALTTASTE gedrückt halten, auf das letzte Element klicken, das ausgewählt werden soll. Der Auswahlbereich basiert auf der SelectionMode -Eigenschaft. Wenn SelectionMode beispielsweise auf DataGridViewSelectionMode.FullColumnSelectfestgelegt ist, kann der Benutzer mehrere Spalten auswählen.

Sie können die MultiSelect -Eigenschaft verwenden, um es einem Benutzer zu ermöglichen, mehrere Elemente im DataGridView Steuerelement auszuwählen und einen Vorgang für alle ausgewählten Elemente auszuführen. Beispielsweise kann der Benutzer mehrere Zellen auswählen und dann mit der rechten Maustaste auf eine ausgewählte Zelle klicken, um ein Kontextmenü anzuzeigen, das eine Reihe von Aufgaben anzeigt, die für die ausgewählten Zellen ausgeführt werden sollen.

Um zu bestimmen, welche Zellen, Zeilen oder Spalten im DataGridView Steuerelement ausgewählt sind, können Sie auf die SelectedCellsEigenschaft , SelectedRowsoder SelectedColumns zugreifen. Um die Anzahl der ausgewählten Zellen zu bestimmen, rufen Sie die GetCellCount -Methode mit dem Argumentwert auf DataGridViewElementStates.Selected. Verwenden Sie die GetRowCount -Methode, um die Anzahl der ausgewählten Zeilen und die GetColumnCount -Methode abzurufen, um die Anzahl der Spalten abzurufen. Diese Methoden sind effizienter als der direkte Zugriff auf die Sammlungen bei der Arbeit mit großen Datenmengen. Weitere Informationen finden Sie unter Empfohlene Vorgehensweisen für das Skalieren des DataGridView-Steuerelements in Windows Forms.

Gilt für:

Weitere Informationen