将垂直滚动条添加到面板

Set*_*gie 41 .net c# scroll winforms

我试图制作一个Panel可滚动的,但只是垂直(所以AutoScroll不会工作,因为子控件超过左边缘,必须).

那怎么办?

kam*_*man 35

试试这个"仅"滚动垂直.
(自动滚动在接受更改之前必须为false)

mypanel.AutoScroll = false;
mypanel.HorizontalScroll.Enabled = false;
mypanel.HorizontalScroll.Visible = false;
mypanel.HorizontalScroll.Maximum = 0;
mypanel.AutoScroll = true;
Run Code Online (Sandbox Code Playgroud)

  • 很好地提出了“AutoScroll”需要设置为 false 的事实,谢谢 (2认同)

Teo*_*gul 29

假设您正在使用winforms,默认面板组件不会为您提供禁用水平滚动组件的方法.解决方法是禁用自动滚动并自己添加滚动条:

ScrollBar vScrollBar1 = new VScrollBar();
vScrollBar1.Dock = DockStyle.Right;
vScrollBar1.Scroll += (sender, e) => { panel1.VerticalScroll.Value = vScrollBar1.Value; };
panel1.Controls.Add(vScrollBar1);
Run Code Online (Sandbox Code Playgroud)

详细讨论在这里.


123*_*ing 6

PanelAutoScroll房产.只需将该属性设置为True,面板将在需要时自动添加滚动条.

  • OP特别提到"AutoScroll"不是解决方案 (4认同)

小智 5

AutoScroll真的是解决办法!你只需要设置AutoScrollMargin0, 1000或类似的东西,然后用它向下滚动并在那里添加按钮和项目!