DataGridViewに画像データを表示して、DataGridViewをサイズ変更したり
スクロールしたりすると、全体セルの半分以上がランダム範囲でブラックアウトしたような
描画になります。
次のようなDataGridViewを作成しています。
1.まずデータソースです。
DataTable.Columns.Add("image", GetType(System.Drawing.Image));
DataTable.Columns.Add("id", GetType(int));
DataTable.Columns.Add("name", GetType(string));
2.DataGridViewです。
※イメージ列作成
DataGridViewImageColumn _columnImage = new DataGridViewImageColumn();
_columnImage.HeaderText = "絵";
_columnImage.Name = "image";
_columnImage.DataPropertyName = "image";
_columnImage.ImageLayout = DataGridViewImageCellLayout.Zoom;
DataGridView.Columns.Add(_columnImage );
※ID列作成
DataGridViewTextBoxColumn _column = new DataGridViewTextBoxColumn();
_column.HeaderText = "ID";
_column.Name = "id";
_column.DataPropertyName = "id";
DataGridView.Columns.Add(_column);
... IDと同じく名前も追加
3.データ設定します。
DataGridView.DataSource = DataTable
こんな感じで、1列画像の2列テキストの
3列100行程度のデータを登録したDataGridViewを表示しますと
初回は正しく表示されるのですが、その後サイズやスクロールを動かすと
全体セルの半分がくらいが、法則性もなくブラックアウトしたようになってしまいます。
対策として試してみましたことは
■DataGridViewにダブルバッファを設定
■DataGridView_CellPainting イベントで DataGridView.Invalidate(); を実行
と行いましたが、何も変化ありませんでした。
何卒、ご教授よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー