我必须为流动布局面板项目创建向上和向下按钮垂直滚动。我该怎么办?我会为POS做这个表格。
我这样做但它不起作用:我有很多按钮,它们有87号高度:我添加了代码和图片。
private void btnScrollUp_Click(object sender, EventArgs e)
{
flowLayoutPanel1.VerticalScroll.Value = flowLayoutPanel1.VerticalScroll.LargeChange-1 ;
flowLayoutPanel1.PerformLayout();
}
private void btnScrollDown_Click(object sender, EventArgs e)
{
flowLayoutPanel1.VerticalScroll.Value = flowLayoutPanel1.VerticalScroll.LargeChange+ 1;
flowLayoutPanel1.PerformLayout();
}
或者,您可能只想将“AutoScroll”设置为false,以下代码实现正确的编程滚动:
public Form1()
{
InitializeComponent();
flowLayoutPanel1.AutoScroll = false;
}
public int scrollValue = 0;
public int ScrollValue
{
get
{
return scrollValue;
}
set
{
scrollValue = value;
if (scrollValue < flowLayoutPanel1.VerticalScroll.Minimum )
{
scrollValue = flowLayoutPanel1.VerticalScroll.Minimum;
}
if (scrollValue > flowLayoutPanel1.VerticalScroll.Maximum)
{
scrollValue = flowLayoutPanel1.VerticalScroll.Maximum;
}
flowLayoutPanel1.VerticalScroll.Value = scrollValue;
flowLayoutPanel1.PerformLayout();
}
}
private void Add_Control(object sender, EventArgs e)
{
flowLayoutPanel1.Controls.Add(new Button(){Width = flowLayoutPanel1.Width, Height = 87});
}
private void UpClick(object sender, EventArgs e)
{
ScrollValue -= flowLayoutPanel1.VerticalScroll.LargeChange;
}
private void DownClick(object sender, EventArgs e)
{
ScrollValue += flowLayoutPanel1.VerticalScroll.LargeChange;
}