protected override void OnPaint(PaintEventArgs e) { if (handle != IntPtr.Zero) { if (bits == IntPtr.Zero || oldSize != Size) { if (bits != IntPtr.Zero) { Marshal.FreeHGlobal(bits); } oldSize = Size; bits = Marshal.AllocHGlobal(Width * Height * 4); } BlinkBrowserPInvoke.wkePaint(handle, bits, 0); using (Bitmap bmp = new Bitmap(Width, Height, Width * 4, PixelFormat.Format32bppPArgb, bits)) { e.Graphics.DrawImage(bmp, 0, 0); } } else { base.OnPaint(e); } if (DesignMode) { e.Graphics.DrawString("MiniBlinkBrowser", this.Font, Brushes.Red, new Point()); e.Graphics.DrawRectangle(Pens.Black, new Rectangle(0, 0, Width - 1, Height - 1)); } }