title: Pass through click event to control underneath
body: <p>I looked at this question and though it would help but the WndProc does not fire</p>
  
  <p><a href="https://stackoverflow.com/questions/547172/pass-through-mouse-events-to-parent-control">Pass-through mouse events to parent control</a></p>
  
  <p>So I have a game board, which is a user control with a Picture box.  During the mouseClick event I do a hit test to determine what part of the board was click and put a piece in a relative area.  I then create one of the game pieces and animate it from the hosting form edge to the proper place on the board.  So game piece is not a child of game board</p>
  
  <p>That is all working fine.  However if the user clicks on a game piece, the mouseClick for the board underneath doesn't raise an event.  I sort of get that, like a button under a button.</p>
  
  <p>My question is can I "pass through" the click event of the game piece so only the board is "clickable"</p>
  
  <pre><code>public enum PieceColor
  {
      Blue=0,
      Yellow,
      Red,
      Green
  }
  
  public class GamePiece : PictureBox
  {
      PieceColor _color;
      public PieceColor Color {
          get {
  
              return _color;
          }
          set
          {
              _color = value;
  
              if (_color == PieceColor.Blue)
                  this.Image = global::GameEntities.Properties.Resources.pieceBlue;
          }
      }
  
  
      protected override void WndProc(ref Message m)
      {
          const int WM_NCHITTEST = 0x0084;
          const int HTTRANSPARENT = (-1);
  
          if (m.Msg == WM_NCHITTEST) //&lt;-- this never fires
          {
              m.Result = (IntPtr)HTTRANSPARENT;
          }
          else
          {
              base.WndProc(ref m);
          }
      }
  }
  </code></pre>