我有一个Panel,它绘制了不同的Graphics项。
如何在不使用win api的情况下滚动。
如果面板添加到Controls中,但是如果你刚绘制的那样不起作用=(
编辑:
工作,但宽度和高度需要手册
protected override void OnScroll(ScrollEventArgs se)
{
base.OnScroll(se);
if (se.ScrollOrientation == ScrollOrientation.VerticalScroll)
{
foreach (Platform platform in m_arPlatforms)
{
platform.ReLocation(platform.Location.X, platform.Location.Y + (se.OldValue - se.NewValue));
}
}
if (se.ScrollOrientation == ScrollOrientation.HorizontalScroll)
{
foreach (Platform platform in m_arPlatforms)
{
platform.ReLocation(platform.Location.X + (se.OldValue - se.NewValue), platform.Location.Y);
}
}
}
答案 0 :(得分:1)
正如您在此处看到的那样:Panel Class,面板派生自ScrollableControl
,只需将AutoScroll
属性设置为true即可生效。
答案 1 :(得分:0)
我不确定我是否完全理解您的问题,但前提是您的AutoScroll正常工作,而您的问题是您自己的绘图代码没有考虑滚动,那么就像调用.TranslateTransform一样简单。 .AutoScrollPosition坐标。