Csharp/CSharp Tutorial/GUI Windows Forms/Anchoring — различия между версиями
Admin (обсуждение | вклад) м (1 версия) |
|
(нет различий)
|
Текущая версия на 12:15, 26 мая 2010
Anchor and dock
using System;
using System.Drawing;
using System.Collections;
using System.ruponentModel;
using System.Windows.Forms;
using System.Data;
public class AnchorForm : System.Windows.Forms.Form
{
private System.ruponentModel.Container components;
private System.Windows.Forms.MenuItem dockNone;
private System.Windows.Forms.MenuItem dockFill;
private System.Windows.Forms.MenuItem dockRight;
private System.Windows.Forms.MenuItem dockLeft;
private System.Windows.Forms.MenuItem dockBottom;
private System.Windows.Forms.MenuItem dockTop;
private System.Windows.Forms.MenuItem menuItem2;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.MenuItem ancRight;
private System.Windows.Forms.MenuItem ancBottom;
private System.Windows.Forms.MenuItem ancLeft;
private System.Windows.Forms.MenuItem ancTop;
private System.Windows.Forms.MenuItem menuItem1;
private System.Windows.Forms.MenuItem ancNone;
private System.Windows.Forms.MenuItem ancTopLeft;
private System.Windows.Forms.MenuItem ancBotRight;
private System.Windows.Forms.MenuItem ancBotLeft;
private System.Windows.Forms.MenuItem ancTopRight;
private System.Windows.Forms.MainMenu mainMenu1;
public AnchorForm()
{
InitializeComponent();
CenterToScreen();
}
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}
private void InitializeComponent()
{
this.dockRight = new System.Windows.Forms.MenuItem();
this.dockBottom = new System.Windows.Forms.MenuItem();
this.ancNone = new System.Windows.Forms.MenuItem();
this.ancTopLeft = new System.Windows.Forms.MenuItem();
this.ancTop = new System.Windows.Forms.MenuItem();
this.dockFill = new System.Windows.Forms.MenuItem();
this.mainMenu1 = new System.Windows.Forms.MainMenu();
this.menuItem1 = new System.Windows.Forms.MenuItem();
this.ancLeft = new System.Windows.Forms.MenuItem();
this.ancBottom = new System.Windows.Forms.MenuItem();
this.ancRight = new System.Windows.Forms.MenuItem();
this.ancTopRight = new System.Windows.Forms.MenuItem();
this.ancBotLeft = new System.Windows.Forms.MenuItem();
this.ancBotRight = new System.Windows.Forms.MenuItem();
this.menuItem2 = new System.Windows.Forms.MenuItem();
this.dockTop = new System.Windows.Forms.MenuItem();
this.dockLeft = new System.Windows.Forms.MenuItem();
this.dockNone = new System.Windows.Forms.MenuItem();
this.button1 = new System.Windows.Forms.Button();
this.SuspendLayout();
this.dockRight.Index = 3;
this.dockRight.Text = "Right";
this.dockRight.Click += new System.EventHandler(this.dockRight_Click);
this.dockBottom.Index = 1;
this.dockBottom.Text = "Bottom";
this.dockBottom.Click += new System.EventHandler(this.dockBottom_Click);
this.ancNone.Index = 4;
this.ancNone.Text = "None";
this.ancNone.Click += new System.EventHandler(this.ancNone_Click);
this.ancTopLeft.Index = 5;
this.ancTopLeft.Text = "TopLeft";
this.ancTopLeft.Click += new System.EventHandler(this.ancTopLeft_Click);
this.ancTop.Index = 0;
this.ancTop.Text = "Top";
this.ancTop.Click += new System.EventHandler(this.ancTop_Click);
this.dockFill.Index = 4;
this.dockFill.Text = "Fill";
this.dockFill.Click += new System.EventHandler(this.dockFill_Click);
this.mainMenu1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {this.menuItem1, this.menuItem2});
this.menuItem1.Index = 0;
this.menuItem1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
this.ancTop,
this.ancLeft,
this.ancBottom,
this.ancRight,
this.ancNone,
this.ancTopLeft,
this.ancTopRight,
this.ancBotLeft,
this.ancBotRight});
this.menuItem1.Text = "&Anchor Value";
this.ancLeft.Index = 1;
this.ancLeft.Text = "Left";
this.ancLeft.Click += new System.EventHandler(this.ancLeft_Click);
this.ancBottom.Index = 2;
this.ancBottom.Text = "Bottom";
this.ancBottom.Click += new System.EventHandler(this.ancBottom_Click);
this.ancRight.Index = 3;
this.ancRight.Text = "Right";
this.ancRight.Click += new System.EventHandler(this.ancRight_Click);
this.ancTopRight.Index = 6;
this.ancTopRight.Text = "TopRight";
this.ancTopRight.Click += new System.EventHandler(this.ancTopRight_Click);
this.ancBotLeft.Index = 7;
this.ancBotLeft.Text = "BottomLeft";
this.ancBotLeft.Click += new System.EventHandler(this.ancBotLeft_Click);
this.ancBotRight.Index = 8;
this.ancBotRight.Text = "BottomRight";
this.ancBotRight.Click += new System.EventHandler(this.ancBotRight_Click);
this.menuItem2.Index = 1;
this.menuItem2.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
this.dockTop,
this.dockBottom,
this.dockLeft,
this.dockRight,
this.dockFill,
this.dockNone});
this.menuItem2.Text = "Dock Value";
this.dockTop.Index = 0;
this.dockTop.Text = "Top";
this.dockTop.Click += new System.EventHandler(this.dockTop_Click);
this.dockLeft.Index = 2;
this.dockLeft.Text = "Left";
this.dockLeft.Click += new System.EventHandler(this.dockLeft_Click);
this.dockNone.Index = 5;
this.dockNone.Text = "None";
this.dockNone.Click += new System.EventHandler(this.dockNone_Click);
this.button1.Location = new System.Drawing.Point(8, 16);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(120, 40);
this.button1.TabIndex = 0;
this.button1.Text = "TheButton";
//
// AnchorForm
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.ClientSize = new System.Drawing.Size(292, 253);
this.Controls.Add(this.button1);
this.Menu = this.mainMenu1;
this.Name = "AnchorForm";
this.Text = "Anchoring (and Docking) Controls";
this.ResumeLayout(false);
}
[STAThread]
static void Main()
{
Application.Run(new AnchorForm());
}
protected void dockNone_Click (object sender, System.EventArgs e)
{
button1.Dock = DockStyle.None;
Console.WriteLine("Anchor: " + button1.Anchor.ToString() +
"\nDock: " + button1.Dock.ToString());
}
protected void dockFill_Click (object sender, System.EventArgs e)
{
button1.Dock = DockStyle.Fill;
Console.WriteLine("Anchor: " + button1.Anchor.ToString() +
"\nDock: " + button1.Dock.ToString());
}
protected void dockRight_Click (object sender, System.EventArgs e)
{
button1.Dock = DockStyle.Right;
Console.WriteLine("Anchor: " + button1.Anchor.ToString() +
"\nDock: " + button1.Dock.ToString());
}
protected void dockLeft_Click (object sender, System.EventArgs e)
{
button1.Dock = DockStyle.Left;
Console.WriteLine("Anchor: " + button1.Anchor.ToString() +
"\nDock: " + button1.Dock.ToString());
}
protected void dockBottom_Click (object sender, System.EventArgs e)
{
button1.Dock = DockStyle.Bottom;
Console.WriteLine("Anchor: " + button1.Anchor.ToString() +
"\nDock: " + button1.Dock.ToString());
}
protected void dockTop_Click (object sender, System.EventArgs e)
{
button1.Dock = DockStyle.Top;
Console.WriteLine("Anchor: " + button1.Anchor.ToString() +
"\nDock: " + button1.Dock.ToString());
}
protected void ancRight_Click (object sender, System.EventArgs e)
{
button1.Anchor = AnchorStyles.Right;
Console.WriteLine("Anchor: " + button1.Anchor.ToString() +
"\nDock: " + button1.Dock.ToString());
}
protected void ancBottom_Click (object sender, System.EventArgs e)
{
button1.Anchor = AnchorStyles.Bottom;
Console.WriteLine("Anchor: " + button1.Anchor.ToString() +
"\nDock: " + button1.Dock.ToString());
}
protected void ancLeft_Click (object sender, System.EventArgs e)
{
button1.Anchor = AnchorStyles.Left;
Console.WriteLine("Anchor: " + button1.Anchor.ToString() +
"\nDock: " + button1.Dock.ToString());
}
protected void ancTop_Click (object sender, System.EventArgs e)
{
button1.Anchor = AnchorStyles.Top;
Console.WriteLine("Anchor: " + button1.Anchor.ToString() +
"\nDock: " + button1.Dock.ToString());
}
private void ancNone_Click(object sender, System.EventArgs e)
{
button1.Anchor = AnchorStyles.None;
Console.WriteLine("Anchor: " + button1.Anchor.ToString() +
"\nDock: " + button1.Dock.ToString());
}
private void ancTopLeft_Click(object sender, System.EventArgs e)
{
button1.Anchor = AnchorStyles.Top | AnchorStyles.Left;
Console.WriteLine("Anchor: " + button1.Anchor.ToString() +
"\nDock: " + button1.Dock.ToString());
}
private void ancTopRight_Click(object sender, System.EventArgs e)
{
button1.Anchor = AnchorStyles.Top | AnchorStyles.Right;
Console.WriteLine("Anchor: " + button1.Anchor.ToString() +
"\nDock: " + button1.Dock.ToString());
}
private void ancBotLeft_Click(object sender, System.EventArgs e)
{
button1.Anchor = AnchorStyles.Bottom | AnchorStyles.Left;
Console.WriteLine("Anchor: " + button1.Anchor.ToString() +
"\nDock: " + button1.Dock.ToString());
}
private void ancBotRight_Click(object sender, System.EventArgs e)
{
button1.Anchor = AnchorStyles.Bottom | AnchorStyles.Right;
Console.WriteLine("Anchor: " + button1.Anchor.ToString() +
"\nDock: " + button1.Dock.ToString());
}
}
Control Anchoring
using System;
using System.Drawing;
using System.Windows.Forms;
public class ControlAnchor : Form
{
public ControlAnchor()
{
Size = new Size(350,400);
int xButtonSize, yButtonSize = Font.Height * 2;
int xMargin, yMargin;
xMargin = yMargin = Font.Height * 2;
Button btn = new Button();
btn.Parent = this;
btn.Text = "Upper Left";
xButtonSize = (int)(Font.Height * .75) * btn.Text.Length;
btn.Size = new Size(xButtonSize, yButtonSize);
btn.Location = new Point(xMargin, yMargin);
btn = new Button();
btn.Parent = this;
btn.Text = "Lower Left";
xButtonSize = (int)(Font.Height * .75) * btn.Text.Length;
btn.Size = new Size(xButtonSize, yButtonSize);
btn.Location = new Point(xMargin, this.ClientSize.Height - yMargin - yButtonSize);
btn.Anchor = AnchorStyles.Bottom | AnchorStyles.Left;
btn = new Button();
btn.Parent = this;
btn.Text = "Upper Right";
xButtonSize = (int)(Font.Height * .75) * btn.Text.Length;
btn.Size = new Size(xButtonSize, yButtonSize);
btn.Location = new Point(this.ClientSize.Width - xMargin - xButtonSize, yMargin);
btn.Anchor = AnchorStyles.Top | AnchorStyles.Right;
btn = new Button();
btn.Parent = this;
btn.Text = "Lower Right";
xButtonSize = (int)(Font.Height * .75) * btn.Text.Length;
btn.Size = new Size(xButtonSize, yButtonSize);
btn.Location = new Point(this.ClientSize.Width - xMargin - xButtonSize,
this.ClientSize.Height - yMargin - yButtonSize);
btn.Anchor = AnchorStyles.Bottom | AnchorStyles.Right;
btn = new Button();
btn.Parent = this;
btn.Text = "Middle Span";
xButtonSize = this.ClientSize.Width - (2 * xMargin);
btn.Size = new Size(xButtonSize, yButtonSize);
btn.Location = new Point(xMargin,
(int)(this.ClientSize.Height / 2) - yButtonSize);
btn.Anchor = AnchorStyles.Left | AnchorStyles.Right;
}
static void Main()
{
Application.Run(new ControlAnchor());
}
}