GUI Windows Forms C# Tutorial

using System;
using System.Drawing;
using System.Windows.Forms;
public class ControlDynamicSizeLocation : Form
{
  private Button btnShow = new Button();
  private Label lbl = new Label();
  int xButtonSize, yButtonSize;
  public ControlDynamicSizeLocation()
  {
    btnShow.Parent = this;
    btnShow.Text = "Show Button Properties";
    Size = new Size(400,400);
    xButtonSize = (int)(Font.Height * .75) * btnShow.Text.Length;
    yButtonSize = Font.Height * 2;
    btnShow.Size = new Size(xButtonSize, yButtonSize);
    btnShow.Click += new System.EventHandler(btnShow_Click);
    lbl.Text = "Control Size and Location - Dynamic";
    lbl.AutoSize = true;
    lbl.Parent = this;
    OnResize(EventArgs.Empty);
  }
  protected override void OnResize(EventArgs e)
  {
    base.OnResize(e);
    int xPosition = (int)(this.ClientSize.Width / 2) - (int)(xButtonSize / 2);
    int yPosition = (int)(this.ClientSize.Height / 2) - (int)(yButtonSize / 2);
    btnShow.Location = new Point(xPosition, yPosition);
  }
  static void Main() 
  {
    Application.Run(new ControlDynamicSizeLocation());
  }
  private void btnShow_Click(object sender, EventArgs e)
  {
    Console.WriteLine("Button Bottom:" + btnShow.Bottom.ToString());
    Console.WriteLine("Button Top:" + btnShow.Top.ToString() );
    Console.WriteLine("Button Left:" + btnShow.Left.ToString() );
    Console.WriteLine("Button Right:" + btnShow.Right.ToString() );
    Console.WriteLine("Button Location:" + btnShow.Location.ToString() );
    Console.WriteLine("Button Width:" + btnShow.Width.ToString() );
    Console.WriteLine("Button Height:" + btnShow.Height.ToString() );
    Console.WriteLine("Button Size:" + btnShow.Size.ToString() );
    Console.WriteLine("Button ClientSize:" + btnShow.ClientSize.ToString() );
    Console.WriteLine("Font:" + btnShow.Font.ToString());
  }
}