title: Click through a form with transparent background in C#
body: <p>I have been working on RAD Studio and on that this is performed automatically if the background is fully transparent, but it seems that it isn't as simple to do in Visual Studio. I have read articles and questions of functions GetWindowLong() and SetWindowLong(), but when I try to use them myself, I get error "the name xxx does not exist in the current context".
  What I tried was:</p>
  
  <pre><code>namespace WindowsFormsApplication1
  {
      public partial class Form1 : Form
      {
          public Form1()
          {
              InitializeComponent();
              int initialStyle = GetWindowLong(this.Handle, -20);
              SetWindowLong(this.Handle, -20, initialStyle | 0x80000 | 0x20);
          }
      }
  }
  </code></pre>
  
  <p>So is there some file I have to include in order get it to work, or do I have to place the function elsewhere? I'm also curious to know why does it behave so differently in the RAD Studio and Visula Studio.</p>