DataGridView.AreAllCellsSelected(Boolean) Metod

Definition

Returnerar ett värde som anger om alla DataGridView celler för närvarande är markerade.

public:
 bool AreAllCellsSelected(bool includeInvisibleCells);
public bool AreAllCellsSelected(bool includeInvisibleCells);
member this.AreAllCellsSelected : bool -> bool
Public Function AreAllCellsSelected (includeInvisibleCells As Boolean) As Boolean

Parametrar

includeInvisibleCells
Boolean

trueför att inkludera rader och kolumner med Visible egenskapsvärden falseför , annars . false

Returer

trueom alla celler (eller alla synliga celler) är markerade eller om det inte finns några celler (eller inga synliga celler); annars . false

Exempel

I följande kodexempel visas hur du använder den här metoden för att undvika beräkningar som involverar SelectedCells samlingen.

private void selectedCellsButton_Click(object sender, System.EventArgs e)
{
    Int32 selectedCellCount =
        dataGridView1.GetCellCount(DataGridViewElementStates.Selected);
    if (selectedCellCount > 0)
    {
        if (dataGridView1.AreAllCellsSelected(true))
        {
            MessageBox.Show("All cells are selected", "Selected Cells");
        }
        else
        {
            System.Text.StringBuilder sb =
                new System.Text.StringBuilder();

            for (int i = 0;
                i < selectedCellCount; i++)
            {
                sb.Append("Row: ");
                sb.Append(dataGridView1.SelectedCells[i].RowIndex
                    .ToString());
                sb.Append(", Column: ");
                sb.Append(dataGridView1.SelectedCells[i].ColumnIndex
                    .ToString());
                sb.Append(Environment.NewLine);
            }

            sb.Append("Total: " + selectedCellCount.ToString());
            MessageBox.Show(sb.ToString(), "Selected Cells");
        }
    }
}
Private Sub selectedCellsButton_Click( _
    ByVal sender As Object, ByVal e As System.EventArgs) _
    Handles selectedCellsButton.Click

    Dim selectedCellCount As Integer = _
        dataGridView1.GetCellCount(DataGridViewElementStates.Selected)

    If selectedCellCount > 0 Then

        If dataGridView1.AreAllCellsSelected(True) Then

            MessageBox.Show("All cells are selected", "Selected Cells")

        Else

            Dim sb As New System.Text.StringBuilder()

            Dim i As Integer
            For i = 0 To selectedCellCount - 1

                sb.Append("Row: ")
                sb.Append(dataGridView1.SelectedCells(i).RowIndex _
                    .ToString())
                sb.Append(", Column: ")
                sb.Append(dataGridView1.SelectedCells(i).ColumnIndex _
                    .ToString())
                sb.Append(Environment.NewLine)

            Next i

            sb.Append("Total: " + selectedCellCount.ToString())
            MessageBox.Show(sb.ToString(), "Selected Cells")

        End If

    End If

End Sub

Kommentarer

Samlingen SelectedCells fungerar inte effektivt med stora val. Om du vill ta reda på om alla celler i DataGridView har markerats innan du kommer åt innehållet i SelectedCells-samlingen kontrollerar du returvärdet för metoden AreAllCellsSelected. Den här metoden kan dock leda till att rader inte delas. Mer information om DataGridView prestanda finns i Best Practices for Scaling the Windows Forms DataGridView Control.

Gäller för

Se även