Udostępnij za pośrednictwem


DataGridView.AreAllCellsSelected(Boolean) Metoda

Definicja

Zwraca wartość wskazującą, czy wszystkie DataGridView komórki są aktualnie zaznaczone.

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

Parametry

includeInvisibleCells
Boolean

true do uwzględnienia wierszy i kolumn z wartościami Visiblefalsewłaściwości ; w przeciwnym razie false.

Zwraca

true jeśli zaznaczono wszystkie komórki (lub wszystkie widoczne komórki) lub nie ma komórek (lub nie ma widocznych komórek); w przeciwnym razie , false.

Przykłady

Poniższy przykład kodu ilustruje sposób użycia tej metody, aby uniknąć obliczeń obejmujących SelectedCells kolekcję.

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

Uwagi

Kolekcja SelectedCells nie działa wydajnie z dużymi wyborami. Aby określić, czy wszystkie komórki w DataGridView obiekcie zostały wybrane przed uzyskaniem dostępu do zawartości SelectedCells kolekcji, sprawdź wartość zwracaną AreAllCellsSelected metody. Jednak ta metoda może spowodować, że wiersze staną się nieudostępniane. Aby uzyskać więcej informacji na temat DataGridView wydajności, zobacz Best Practices for Scaling the Windows Forms DataGridView Control (Najlepsze rozwiązania dotyczące skalowania kontrolki DataGridView).

Dotyczy

Zobacz też