我可能正在寻找错误的问题,但我无法找到答案。
我有一个AutoScroll设置为true的面板。控件将动态添加到面板中。我需要在滚动条变得可见时触发事件,但我无法找到这样的事件。
任何建议都表示赞赏。
更多详情:
答案 0 :(得分:1)
感谢@ MUG4N对原始问题的评论,这是解决方案。我目前的项目是VB.Net,解决方案也是如此。
canvas是面板的名称。
Private Sub canvas_Paint(sender As Object, e As PaintEventArgs) Handles canvas.Paint
If Me.canvas.VerticalScroll.Visible Then
' Do stuff here
End If
End Sub
要检查水平滚动,请使用Me.canvas.HorizontalScroll.Visible
重要强>
确保你做了一些检查以避免无限循环。
答案 1 :(得分:0)
private void Form1_Load(object sender, EventArgs e)
{
Int32 x = 20;
Int32 y = 20;
for (Int32 i = 0; i < 20; i++)
{
Button btn = new Button();
btn.Name = "btn" + i.ToString();
btn.Location = new Point(x, y);
x = x + 20;
panel1.Controls.Add(btn);
}
//call(1, new List<long> { 1, 2, 3, 4 });
}
private void **panel1_Scroll**(object sender, ScrollEventArgs e)
{
MessageBox.Show("scroll");
}
panel control have its own method "Scroll" see events of panel control and find the "Scroll"....