title: BitBlt code not working
body: <p>I'm trying to use this code to draw a <code>Bitmap</code> directly onto a <code>PictureBox</code>:</p>
  
  <pre><code>Bitmap bmp = (Bitmap)Bitmap.FromFile(@"C:\Users\Ken\Desktop\Load2.bmp");
  Graphics grDest = Graphics.FromHwnd(pictureBox1.Handle);
  Graphics grSrc = Graphics.FromImage(bmp);
  IntPtr hdcDest = grDest.GetHdc();
  IntPtr hdcSrc = grSrc.GetHdc();
  BitBlt(hdcDest, 0, 0, pictureBox1.Width, pictureBox1.Height,
      hdcSrc, 0, 0, (uint)TernaryRasterOperations.SRCCOPY); // 0x00CC0020
  grDest.ReleaseHdc(hdcDest);
  grSrc.ReleaseHdc(hdcSrc);
  </code></pre>
  
  <p>but instead of rendering the <code>Bitmap</code>'s contents it just draws a solid block of nearly-black.  I'm pretty sure the problem is with the source hDC, because if I change SRCCOPY to WHITENESS in the above code, it draws a solid white block, as expected.</p>
  
  <p>Note:  this next snippet works fine, so there's nothing wrong with the bitmap itself:</p>
  
  <pre><code>Bitmap bmp = (Bitmap)Bitmap.FromFile(@"C:\Users\Ken\Desktop\Load2.bmp");
  pictureBox1.Image = bmp;
  </code></pre>