FlowLayoutPanel
の中に画像を動的に読み込んでいます。私はこのパネルを自動サイズ調整する必要がありますが、縦のみにします。FlowLayoutPanel垂直方向の自動サイズ?
これは可能ですか、もしそうなら、私はそれを達成するためにどのように行くのですか?
FlowLayoutPanel
の中に画像を動的に読み込んでいます。私はこのパネルを自動サイズ調整する必要がありますが、縦のみにします。FlowLayoutPanel垂直方向の自動サイズ?
これは可能ですか、もしそうなら、私はそれを達成するためにどのように行くのですか?
シンプル、タイプコントロールのイベントを追加、コメントを追加しました:
private void flowLayoutPanel1_ControlAdded(object sender, ControlEventArgs e)
{
if (flowLayoutPanel1.Controls.Count % 10 == 0)
flowLayoutPanel1.SetFlowBreak(e.Control as Control, true);
}
はAutoSize = true
を設定し、私はdinamicallyパネルからサイズを設定しなかったflowdirection = LeftToRight
を設定します。例:
int newHeight= listImages.Count/10 * 100; flowLayoutPanel1.Size = new Size(1143, newHeight);
それは私のために動作します。 Thx all
'int newHeight = listImages.Count/10 * 100;'はintと同じです 'newHeight = listImages.Count * 10;' –
私は知っていますが、* int newHeight = listImages.Count/10 * 100 *; 10行が1行あたりのピクチャの数であり、100が各1つからの高さであることを理解してください。 – Ladessa
ヒント:このように、さらに読みやすく保守しやすいでしょう: 'int newHeight = listImages.Count/numberOfPicturesPerLine * pictureHeight' 'const int numberOfPicturesPerLine = 10;' –
_可能ですか?_試しましたか? –
私は、FlowLayoutPanel = trueからAutoSizeプロパティを設定するだけです。パネルは水平方向に増加します – Ladessa
追加するコントロールのFlowBreakプロパティをTrueに設定します。コードに追加する場合は、パネルのSetFlowBreak()メソッドを使用します。 –