23

FlowLayoutPanelがあり、複数のコントロールがあります。縦方向にスクロールしたいだけです。しかし、設定するAutoScroll = trueと、垂直スクロールバーと水平スクロールバーの両方が表示されました。水平スクロールバーを無効にして、垂直スクロールバーのみを機能させ続けるにはどうすればよいですか?

4

3 に答える 3

63
  • AutoScrollをtrueに設定します
  • WrapContentsをfalseに設定します。
  • サイズがコントロールの幅に垂直スクロールバーの幅を加えたものよりも広いことを確認してください。

水平スクロールバーが消えるはずです。そうでない場合は、さらに情報を提供してください。

于 2011-04-05T18:27:35.837 に答える
5

AutoScrollをtrueに設定します。WrapContentsをfalseに設定します。パディング権を10に設定します。

それは私にとってはかなりうまくいきます。

于 2016-03-25T13:04:47.360 に答える
-1

ラップテキスト(WrapContents = true)、垂直スクロールバーのみを使用してFlowLayoutPanelに複数のラベルを設定する方法を次に示します。

  1. フォームにflowLayoutPanel1があります
  2. formとflowLayoutPanel1のプロパティを次のように設定します。

形:

AutoScroll = True
FormBorderStyle = Sizable(default)

flowLayoutPanel1:

Anchor = Top, Left, Right
AutoSize = True
FlowDirection = TopDown
WrapContents = true
  1. テスト用にフォームクラスにこのコードを実装する

int coorY = 0;
        public Form2()
        {
            InitializeComponent();
            for (int i = 0; i < 100; i++)
            {
                flowLayoutPanel1.Controls.Add(new Label 
                { 
                    Location = new Point(0, coorY + 20),
                    Font = new Font("Segoe UI", 10f),
                    Text = "I have a FlowLayoutPanel and there are multiple controls on it. I only want to scroll in vertical",
                    Width = flowLayoutPanel1.Width,
                    AutoSize = true
                });
                coorY += 20;
            }
        }

動作中の垂直スクロールバー

于 2021-06-01T03:57:31.133 に答える