1

そのため、行ヘッダーを無効にし、複数行のセル テキストにラップモードを設定し、複数行のテキストに合わせて行のサイズを自動調整する DataGridView があります。

コード内:

view.RowHeadersVisible = false;
view.DefaultCellStyle.WrapMode = DataGridViewTriState.True;
view.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells;

問題は、AutoSizeRowsMo​​de プロパティを設定すると、設定しない場合に比べて、ビューの更新が非常に遅くなることです。

以下は、多かれ少なかれ同じ問題へのリンクです。

http://brianseekford.com/index.php/2010/04/01/datagridview-bug-with-the-autowrap-and-the-autorowsize-not-resizing-rows-on-scroll/

彼らの解決策:

view.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.DisplayedCells;

view.Scroll +=new ScrollEventHandler(view_Scroll);

private void view_Scroll(object sender, ScrollEventArgs e)
{
   //Workaround for datagrid view bug.
   ((DataGridView)sender).AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.DisplayedHeaders;
   ((DataGridView)sender)AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.DisplayedCells;
}

問題は、行ヘッダーが無効になっているため、スクロール時にプログラムがクラッシュすることです。

誰かが私に何ができるかについての解決策または少なくともいくつかのアイデアを持っていることを願っています.

4

1 に答える 1

2

行を自動サイズ調整するためにこれが必要なだけです(必要ありませんview_Scroll)。

view.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.DisplayedCells;
于 2013-08-18T02:09:15.940 に答える