title: Can't get Control.OnPaint method to work
body: <p>I couldnt find anything like that at all (basicly every problem from so else is always a syntax problem) and well..., the situation is a bit more complicated. to avoid using 500 lines of code im going to describe it for the most part:</p>
  
  <p>Ive got a Form wich is acting as a parent Form (<code>MdiParent</code>) and another Form wich is a Child but basicly a fully functional Form at its own. Im using several OnPaint methods in the childform, witch work perfectly fine, and 3 custom buttons on the parent Form witch also have their own OnPaint methods. These 3 buttons (actualy panels) and every other control on the parent Form are contained in a PictureBox witch fills the parent Form completely and is used to make the background of the parent transparent / clickthrough via TransparencyKey (havnt found any other ways of doing that).</p>
  
  <p>the Problem is that every OnPaint Method on the parent wont work at all (they're beeing executed but dont paint anything).</p>
  
  <p>here is some code but that isnt the problem i'd say:</p>
  
  <pre><code>        this.myButtonObject1.BackColor = System.Drawing.Color.Red;
          this.myButtonObject1.Location = new System.Drawing.Point(840, 0);
          this.myButtonObject1.Name = "myButtonObject1";
          this.myButtonObject1.Size = new System.Drawing.Size(50, 50);
          this.myButtonObject1.TabIndex = 0;
          this.myButtonObject1.Click += new System.EventHandler(this.myButton1_Click);
          this.myButtonObject1.Paint += new System.Windows.Forms.PaintEventHandler(this.myButtonObject1_Paint);
  
  
      private void myButtonObject1_Paint(object sender, PaintEventArgs e)
      {
          Graphics g = e.Graphics;
          LinearGradientBrush lgb = new LinearGradientBrush(new PointF(0, 0), new PointF(myButtonObject1.Width, myButtonObject1.Height), Color.Green, Color.Lime);
          Pen p = new Pen(lgb, 5);
          g.DrawRectangle(p, myButtonObject1.Bounds);
          lgb.Dispose();
          p.Dispose();
      }
  </code></pre>
  
  <p>if anyone can tell me; what am i doing wrong?</p>
  
  <p>PS: i m using .net 4.5, VS 2015, and havnt changed any of the default settings besides <code>TopMost</code> <code>FormBorderStyle</code> <code>ShowInTaskbar</code> <code>StartPosition</code> and ofc the color and trancparencyKey, but i dont think it has anything todo with that.</p>