Control Size and Location - Dynamic : Control « GUI Windows Forms « C# / CSharp Tutorial






Control Size and Location - Dynamic
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());
  }
}








23.53.Control
23.53.1.Control: TabIndex, Size and LocationControl: TabIndex, Size and Location
23.53.2.Control Tag PropertyControl Tag Property
23.53.3.Control Size and Location - DynamicControl Size and Location - Dynamic
23.53.4.Control Size and LocationControl Size and Location
23.53.5.Override the DefaultSize property to gain better performance
23.53.6.Create User Control based on Control classCreate User Control based on Control class
23.53.7.Get controls on a form and verify its typeGet controls on a form and verify its type
23.53.8.Set Caption(title) of the formSet Caption(title) of the form
23.53.9.Set form forground colorSet form forground color
23.53.10.Render onto the buttonRender onto the button