DataGridViewの行の高さを内容に合わせて変更し、なおかつ最小の高さも決めておきたい。
やりたいこと
DataGridViewの行の高さを内容に合わせて変更し、なおかつ最小の高さも決めておきたい。
困ったこと
dataGridView.AutoResizeRowsをAllCellsにすると、コラムの中の一番大きいコラムに合わせて行が変更されるが、最小の高さまでは決められない。MinimumHeightというプロパティもあるけど、これは逆に最大の高さになる感じ(名前が紛らわしい)。
解決方法
各行のセルで一番大きい行の高さを取得する。
以下の例では、行の最小値は50で、一番大きい行がそれ以下なら、50になる。
foreach(DataGridViewRow row in dataGridView.Rows)
{
var cells = row.Cells.Cast<DataGridViewCell>();
int maxHeight = cells.Max(n => n.PreferredSize.Height);
row.Height = maxHeight > row.Height ? maxHeight : 50;
}
Heightではなく、PreferredSize.Heightにしている。heightだと内容に合わせたサイズではなくて、もともと行として決まっているHeightが取得されるのか。
Author And Source
この問題について(DataGridViewの行の高さを内容に合わせて変更し、なおかつ最小の高さも決めておきたい。), 我々は、より多くの情報をここで見つけました https://qiita.com/k112358/items/7385a5d4817dabcc3b73著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .