次の方法で共有


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

Visible プロパティの値が false の行および列を含める場合は true。それ以外の場合は 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 コレクションは、大規模な選択では効率的に実行されません。 SelectedCells コレクションの内容にアクセスする前に、DataGridView 内のすべてのセルが選択されているかどうかを判断するために、AreAllCellsSelected メソッドの戻り値を確認します。 ただし、このメソッドを使用すると、行が共有されなくなる可能性があります。 パフォーマンスの詳細DataGridViewについては、「Windows フォーム DataGridView コントロールをスケーリングするためのベスト プラクティス」を参照してください。

適用対象

こちらもご覧ください