如何减少闪烁?
滚动值更改时C#面板闪烁
这是一个基于 Windows 窗体的项目
[翻译是一个用户控件,包含两个文本框和蓝色背景色。]
我的实现:
ScrollBar sb = new VScrollBar();
translate[] t = new translate[5];
private void btnSearch_Click(object sender, EventArgs e)
{
//
sb.Dock = DockStyle.Right;
sb.Scroll += sb_Scroll;
panel1.HorizontalScroll.Value = 0;
sb.Top = panel1.Top;
sb.Height = panel1.Height;
this.Controls.Add(sb);
//
Point p = new Point(10, 0);
for (int i = 0; i < 5; i++)
{
t[i] = new translate();
t[i].Left = p.X;
t[i].Top = p.Y;
panel1.Controls.Add(t[i]);
//p.X += 100;
p.Y += 110;
}
}
void sb_Scroll(object sender, ScrollEventArgs e)
{
//panel1.Invalidate();
panel1.VerticalScroll.Value = sb.Value;
}