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());
}
}