3

列と他のテキストベースの列を含むdatagridview(winforms)があります。checkbox私はcheckbox、このサイトで十分に文書化されている列に関する一般的な問題のほとんどをうまく解決しました。

ただし、1 つ問題が残っています。a を「直接」クリックすることができ、checkbox希望どおりに応答します。ただし、セルの境界とcheckboxコントロールの間でマウス ポインターを慎重に移動し、マウスをクリックすると、セルを選択できますが、の状態はcheckbox切り替わりません。この問題は、特定の行の行の高さが大きいほど顕著になります。

助けてくれてありがとう

注:これは、チェックされた後に特定のチェックボックスセルからフォーカスが移動したときに発生する問題ではありません。私はそれを解決しました。

4

1 に答える 1

3

これは問題ではありません。これは単に動作するはずの方法です。グリッド列の場合、cellclick イベントと cellcontentclick イベントを使用できます。セル内の任意の場所をクリックしたときにチェックボックスをオンにしたいので、 cellclick を使用する必要があります。リッスンする必要がある他のイベントの中で、コードに次を追加しました。

    private void Grid_CellClick(object sender, DataGridViewCellEventArgs e)
    {
        if ((e.ColumnIndex == 1) && e.RowIndex != -1)
        {
            this.MyGrid[1, e.RowIndex].Value = !(bool)this.MyGrid[1, e.RowIndex].Value;
            this.MyGrid.EndEdit();
        }
    }
于 2013-09-09T19:00:25.190 に答える