코드 덤프 합니다만, 이러한 기능.NET UserControl을은 : Size 속성은
private void PNGQuantPreviewControl_Resize(object sender, EventArgs e)
{
createOffScreenBm();
draw();
}
private void createOffScreenBm()
{
offScreenBm = new Bitmap(this.Size.Width, this.Size.Height);
offScreenGfx = Graphics.FromImage(offScreenBm);
}
private void draw()
{
// draw background
offScreenGfx.FillRectangle(transTexture, 0, 0, offScreenBm.Width, offScreenBm.Height);
// draw image preview
offScreenGfx.DrawImage(pngQuantPreview, getTopLeftPosition());
// apply to picture box
this.CreateGraphics().DrawImage(offScreenBm, 0, 0);
}
그래서, 제어 변경 크기, 그것은 새로운를 반영 할 수있는 오프 스크린 비트 맵을 재현 할 때의 UserControl 내에있는 크기 조정 이벤트에 잘못된 값을 제공합니다 크기를 조정하고 이미지를 다시 그립니다.
그러나 컨트롤의 크기를 빠르게 조정하면 비트 맵에서 채울 수 없으므로 오른쪽 및/또는 아래쪽에 간격이 있습니다.
저는 C#에 상당히 익숙합니다. 그래서 내가 잘못하고있는 것이 명백합니다. 잘못된 시간에 크기 값을 읽었습니다. 어떤 아이디어?
많은 감사. SetStyle 대신 DoubleBuffer 속성을 사용했습니다. 또한, OnPaint 메서드의 일부로 제공된 그래픽 객체를 처음에는 사용하지 못했습니다. –