9

内に画像を動的にロードしていFlowLayoutPanelます。このパネルのサイズを自動調整する必要がありますが、垂直方向のみです。

これは可能ですか?もしそうなら、どうすればそれを達成できますか?

4

4 に答える 4

15

シンプルなタイプのコントロールのイベントを追加します:

private void flowLayoutPanel1_ControlAdded(object sender, ControlEventArgs e)
{
    if (flowLayoutPanel1.Controls.Count % 10 == 0)
        flowLayoutPanel1.SetFlowBreak(e.Control as Control, true);
}

設定AutoSize = true

設定flowdirection = LeftToRight

于 2013-04-08T13:50:09.473 に答える
1

パネルからサイズを動的に設定しました。例:

int newHeight= listImages.Count/10 * 100;
               flowLayoutPanel1.Size = new Size(1143, newHeight);

わたしにはできる。ありがとう

于 2013-04-08T13:53:29.877 に答える
0

これは醜い解決策のように見えるかもしれませんが、私にとってはうまくいきます:

  1. パネルの現在の幅を変数に格納します。
  2. AutoSize モードを true に設定します。
  3. パネルのサイズ変更が必要なアクションを実行します。
  4. 変数から前のパネルの幅を復元します。

                int i = _panel1.Width;
                _panel1.AutoSize = true;
                _panel1.AutoSizeMode = AutoSizeMode.GrowOnly;
                /*some action going on here*/
                _panel1.AutoSize = false;
                _panel1.Size = new Size(_panel1.Width, 80);
    
于 2019-07-06T23:10:02.910 に答える