これは質問ではありません。すでに回答済みです。しかし、それは他の人にも役立つかもしれません。
何が起こるかは次のとおりです。
- Datagridview を使用して WinForm を作成し、Subsonic ...Collection をバインドして、500 以上のオブジェクトをロードします。
- データグリッドにいくつかの列を追加し、少なくとも 1 つの autosizemode = fill を作成します
- 選択したすべての列を削除するロジックを追加します (つまり、キーを押す -> 削除)。
- すべてのレコードをマークして削除する
これには約 30 秒かかります。ハイエンドPC上(およびスケールアップ:1000で1分...)
原因:
行を削除するたびにコレクションのListChangedイベントが発生し、データグリッドビューが自動サイズ調整された列に必要なスペースを再計算します(誰かが「内部」に興味がある場合は、コールグラフを添付しました.