如何在另一个Panel下创建tableLayoutPanel幻灯片?

时间:2012-07-18 06:41:09

标签: winforms

在我的表格上,我有一个顶部面板,一个底部面板和一个TableLayoutPanel,它们显示主要信息。当用户单击此TableLayoutPanel中的一行时,该项目被视为已查看,下一项应向前滑动一个位置(第1行变为第2行,第2行变为第3行,第3行获取新数据)。我希望此幻灯片操作让用户可视化更改。

1 个答案:

答案 0 :(得分:0)

你必须自己实施所需的绘画。

您可以覆盖OnPaint并让原始OnPaint处理所有绘画,除非您的滑动应该发生...

当您的滑动发生时,您可以选择表格中不存在的第二个TableLayoutPanel,其中包含所有4行(旧的3行+新行)并将其绘制到位图图像上({ {1}})

现在你有一个比你的滑动Control.DrawToBitmap()更大的位图...现在采用该位图并使用它所需的部分来获得你的滑动动画...而不是调用原始的{{1} },你可以从位图中获取所需的区域......你当然必须首先计算所需的区域,这取决于你想要的滑动动画速度,启动和停止,或者你想到的任何东西......