Поделиться через


DataGridView.AreAllCellsSelected(Boolean) Метод

Определение

Возвращает значение, указывающее, все ли ячейки DataGridView выбраны в данный момент.

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

Параметры

includeInvisibleCells
Boolean

Значение true, чтобы включать строки и столбцы, свойство Visible которых имеет значение false; в противном случае — значение false.

Возвращаемое значение

Значение true, если все ячейки (или все видимые ячейки) выбраны или если ячейки отсутствуют (или отсутствуют видимые ячейки); в противном случае — значение false.

Примеры

В следующем примере кода показано, как использовать этот метод, чтобы избежать вычислений, связанных с коллекцией SelectedCells .

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

Комментарии

Коллекция SelectedCells работает неэффективно с большим числом выделенных элементов. Чтобы определить, выбраны ли все ячейки в DataGridView, перед доступом к содержимому коллекции SelectedCells, проверьте возвращаемое значение метода AreAllCellsSelected. Однако этот метод может привести к отмене общего доступа к строкам. Дополнительные сведения о DataGridView производительности см. в статье Рекомендации по масштабированию элемента управления DataGridView Windows Forms.

Применяется к

См. также раздел