DataGridView
C#でコントロールの未使用スペース(グレースペース)を削除できるかどうか疑問に思っていました。DataGridView
ディスプレイは白いテーブルのみにしなければなりません。
助言がありますか?
注: この投稿には、無効になった外部画像が含まれていました。
DataGridView
C#でコントロールの未使用スペース(グレースペース)を削除できるかどうか疑問に思っていました。DataGridView
ディスプレイは白いテーブルのみにしなければなりません。
助言がありますか?
注: この投稿には、無効になった外部画像が含まれていました。
場合によっては (特に winform の場合) 最善の方法はハッキングすることです:
dataGridView1.BackgroundColor = System.Drawing.SystemColors.Control;
私はこの投稿からそれを盗みました: c# で datagrid の空の灰色のスペースを削除する
「未使用」または灰色(BackgroundColor)のスペースを削除する簡単な方法が見つかりませんでした。ただし、私にとって効果的な解決策は、DataGridView の境界線を非表示にし、その背景色を周囲のコントロールの背景に変更することでした。要するに、使用されていないスペースがなくなったという認識です。
擬似コードのスニペットを次に示します。
TableGridView = DataGridView()
TableGridView.Width = 0
TableGridView.Height = 0
TableGridView.AutoSize = true
TableGridView.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells
TableGridView.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells
TableGridView.BackgroundColor = SystemColors.ControlLightLight
TableGridView.BorderStyle = BorderStyle.None
AutoSize 設定が適用されないことをどこかで読みましたが、状況が変わりました。この例は、周囲のコントロールの背景色が SystemColors.ControlLightLight であることを示唆していますが、これは必要に応じて変更できます。
役に立った場合は、これに投票してください。
プロパティを false に設定しRowsHeaderVisible
ます。これは、デザイナー、カテゴリAppearence
、またはコードから行うことができます。
dataGridView1.RowsHeaderVisible = false;
左側のインジケーター行を削除するには、残りの灰色のスペースと同様に、前述の設定AutoSizeColumnsMode
を [塗りつぶし] に設定してみてください。
グリッドを埋めるためにセルのサイズを変更する代わりに、セルの周囲に収まるようにグリッドのサイズを変更できます。これが受け入れられるアプローチであるかどうかは、意図によって異なります。
つまり、その色だけが気になる場合は、背景色を白に設定するとうまくいく可能性があります.
私はあなたが望むと信じています:
myDataGrid.AutoSizeColumnsMode = Fill
編集:これは列のサイズを変更するだけです。グリッドの高さのサイズを変更する以外に、行の灰色のスペースを取り除く方法がわかりません。
dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
さて、私は以前にこれに対する答えを見つけるのに苦労しましたが、最終的に空の DataGridView を模倣したい場合、長い答えは " White " Rectangle オブジェクトを作成し、Graphics を使用してオーバーライドされた OnPaint メソッドでグリッド全体を塗りつぶすことです。