是的,我有2个面板,宽度相同,数据宽度相同。顶部面板已启用自动滚动。我希望能够使用顶部面板滚动条滚动两个面板。这意味着底部面板没有滚动条。我该怎么做?
alt text http://members.multimania.co.uk/jeff1524/pics/scrolling.jpg
编辑:我试过panel2.AutoScrollPosition = panel1.AutoScrollPosition;
没有
我也试过
e.Graphics.DrawRectangle(new Pen(Color.Pink,3), 10, 10, 30, 20);
e.Graphics.TranslateTransform(panel1.AutoScrollPosition.X, 0);
矩形没有移动。 我做错了什么?
答案 0 :(得分:3)
容易腻。实现第一个面板的Scroll事件,并使其无效()第二个面板。使用1st:
的滚动位置在第二个面板的Paint事件中绘制文本 private void panel1_Scroll(object sender, ScrollEventArgs e) {
panel2.Invalidate();
}
private void panel2_Paint(object sender, PaintEventArgs e) {
Point pos = new Point(panel1.AutoScrollPosition.X, 0);
TextRenderer.DrawText(e.Graphics, "nobugz waz here", panel2.Font, pos, Color.Black);
// Draw something
e.Graphics.TranslateTransform(pos.X, pos.Y);
e.Graphics.DrawLine(Pens.Black, 0, 0, 100, 100);
}
答案 1 :(得分:0)
更容易。
只需将面板放在另一个具有滚动条的面板中(AutoScroll = true)。 我已经用过这个策略了。