SplitContainer 에서 더블버퍼링 하기

어제 올린 예제에 실제로 적용되어 있긴 하지만, 더블 버퍼링을 적용했다.

그런데 이게 SplitContainer 에 있는 Panel 에는 더블 버퍼링을 적용할 수 없는 것이었다.

이걸 어쩌나 하면서 살펴보니 Panel을 상속 받아서 아래와 같은 Panel 을 만들면 된다는 것이다.

using System.Windows.Forms;

namespace CharSyamSpriteEditor
{
    public class DoubleBufferPanel : Panel
    {
        public DoubleBufferPanel()
        {
            // Set the value of the double-buffering style bits to true.
            this.SetStyle(ControlStyles.DoubleBuffer |
              ControlStyles.UserPaint |
              ControlStyles.AllPaintingInWmPaint | ControlStyles.ResizeRedraw,
              true);

            this.UpdateStyles();
        }
    }
}

그런데 –_-, SplitContainer 안의 Panel에 더블 버퍼링을 적용할 방법이 없다 –_-;

그러나 고민하면 꼼수는 떠오르는 법…

그냥 –_- SplitContainer 위에 그냥 일반 Panel 을

올리고 –_- 그 넘을 위에서 생성한 DoubleBufferPanel로 생성해 주면

가볍게 끝 –_-; 이제 이미지를 잘라서 붙이는 것 까지 했는데 –_- 이제 애니메이션이랑

이미지 사이즈 맞춰주는걸 해야할듯 –_-

spriteeditor