我希望自定义水平滚动条比我想用它滚动的面板宽度更长。怎么连接?
ScrollBar hScrollBar = new HScrollBar();
hScrollBar.Dock = DockStyle.Fill;
ScrollBar.Scroll += new ScrollEventHandler(hScrollBar_Scroll);
splitContainer2.Panel2.Controls.Add(hScrollBar);
void hScrollBar_Scroll(object sender, ScrollEventArgs e)
{
?
}
答案 0 :(得分:1)
你的意思是这样吗?
只需将控件放在面板中,调整表单大小并输入此代码
即可panel1.AutoScroll=true;
在InitializeComponent之后如果你想要一个“真正的自定义”滚动条,做这样的事情:
hScrollBar.Maximum=700;
hScrollBar.Value=0;
hScrollBar.Scroll+=delegate (object sender, ScrollEventArgs e)
{
int diference=e.OldValue-e.NewValue;
foreach (Control c in panel1.Controls) c.Location=new Point (c.Location.X+diference, c.Location.Y);
};
但是你必须找到最大值,在我的情况下是aprox 700。