Csharp/C Sharp by API/System.Windows.Forms/Control

Материал из .Net Framework эксперт
Перейти к: навигация, поиск

Control.GetType

 

using System;
using System.Drawing;
using System.Windows.Forms;
   
class CustomCheckBox: Form
{
     public static void Main()
     {
          Application.Run(new CustomCheckBox());
     }
     public CustomCheckBox()
     {
          int      cyText = Font.Height;
          int      cxText = cyText / 2;
          FontStyle[] afs = { FontStyle.Bold,      FontStyle.Italic, 
                              FontStyle.Underline, FontStyle.Strikeout };
   
          Label label    = new Label();
          label.Parent   = this;
          label.Text     = "Sample Text";
   
          for (int i = 0; i < 4; i++)
          {
               FontStyleCheckBox chkbox = new FontStyleCheckBox();
               chkbox.Parent = this;
               chkbox.Text = afs[i].ToString();
               chkbox.fontstyle = afs[i];
               chkbox.Location = new Point(2 * cxText, 
                                               (4 + 3 * i) * cyText / 2);
               chkbox.Size = new Size(12 * cxText, cyText);
               chkbox.CheckedChanged += new EventHandler(CheckBoxOnCheckedChanged);
          }
     }
     void CheckBoxOnCheckedChanged(object obj, EventArgs ea)
     {
          FontStyle fs = 0;
          Label     label = null;
   
          for (int i = 0; i < Controls.Count; i++)
          {
               Control ctrl = Controls[i];
   
               if (ctrl.GetType() == typeof(Label))
                    label = (Label) ctrl;
               else if (ctrl.GetType() == typeof(FontStyleCheckBox))
                    if (((FontStyleCheckBox) ctrl).Checked)
                         fs |= ((FontStyleCheckBox) ctrl).fontstyle;
          }
          label.Font = new Font(label.Font, fs);
     }
}
class FontStyleCheckBox: CheckBox
{
     public FontStyle fontstyle;
}


Control.HasChildren

 
using System;
using System.Drawing;
using System.Windows.Forms;
public class ControlParent : Form
{
  private Button btn;
  public ControlParent()
  {
    btn = new Button();
    btn.Location = new Point(50,50);
    btn.Size = new Size(100,23);
    btn.Text = "Relationships";
        //Controls.Add(btn);
    btn.Parent = this;
    MessageBox.Show("Button Parent:  " + btn.Parent.ToString() + "\n" +
      "Button HasChildren:  " + btn.HasChildren.ToString() + "\n" + 
      "TopLevelControl:  " + btn.TopLevelControl.ToString() + "\n" + 
      "Form HasChildren:  " + this.HasChildren.ToString() + "\n" + 
      "Form Controls Count:  " + this.Controls.Count.ToString(),
      "Button Relationships");
  }
  static void Main() 
  {
    Application.Run(new ControlParent());
  }
}


Control.Name

  

using System;
using System.Collections.Generic;
using System.ruponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
public class Form1 : Form
{
   Label Label1;
   TextBox TextBox1;
   Button Button1;
  public Form1()
  {
        InitializeComponent();
  }
   private void ctrlClick(System.Object sender, EventArgs e)
   {
     Control ctrl = (Control)sender;
     MessageBox.Show("You clicked: " + ctrl.Name);
   }
  private void InitializeComponent()
  {
    this.Label1 = new System.Windows.Forms.Label();
    this.TextBox1 = new System.Windows.Forms.TextBox();
    this.Button1 = new System.Windows.Forms.Button();
    this.SuspendLayout();
    // 
    // Label1
    // 
    this.Label1.FlatStyle = System.Windows.Forms.FlatStyle.System;
    this.Label1.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
    this.Label1.Location = new System.Drawing.Point(14, 97);
    this.Label1.Name = "Label1";
    this.Label1.Size = new System.Drawing.Size(112, 24);
    this.Label1.TabIndex = 8;
    this.Label1.Text = "Label1";
    this.Label1.Click += new System.EventHandler(this.ctrlClick);
    // 
    // TextBox1
    // 
    this.TextBox1.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
    this.TextBox1.Location = new System.Drawing.Point(12, 61);
    this.TextBox1.Name = "TextBox1";
    this.TextBox1.Size = new System.Drawing.Size(156, 21);
    this.TextBox1.TabIndex = 7;
    this.TextBox1.Text = "TextBox1";
    this.TextBox1.Click += new System.EventHandler(this.ctrlClick);
    // 
    // Button1
    // 
    this.Button1.FlatStyle = System.Windows.Forms.FlatStyle.System;
    this.Button1.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
    this.Button1.Location = new System.Drawing.Point(12, 21);
    this.Button1.Name = "Button1";
    this.Button1.Size = new System.Drawing.Size(96, 28);
    this.Button1.TabIndex = 6;
    this.Button1.Text = "Button1";
    this.Button1.Click += new System.EventHandler(this.ctrlClick);
    // 
    // Form1
    // 
    this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
    this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
    this.ClientSize = new System.Drawing.Size(367, 281);
    this.Controls.Add(this.Label1);
    this.Controls.Add(this.TextBox1);
    this.Controls.Add(this.Button1);
    this.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
    this.Name = "Form1";
    this.Text = "Control Medley";
    this.ResumeLayout(false);
    this.PerformLayout();
  }

  [STAThread]
  static void Main()
  {
    Application.EnableVisualStyles();
    Application.Run(new Form1());
  }
}


Control.Parent

 
using System;
using System.Drawing;
using System.Windows.Forms;
public class ControlParent : Form
{
  private Button btn;
  public ControlParent()
  {
    btn = new Button();
    btn.Location = new Point(50,50);
    btn.Size = new Size(100,23);
    btn.Text = "Relationships";
        //Controls.Add(btn);
    btn.Parent = this;
    MessageBox.Show("Button Parent:  " + btn.Parent.ToString() + "\n" +
      "Button HasChildren:  " + btn.HasChildren.ToString() + "\n" + 
      "TopLevelControl:  " + btn.TopLevelControl.ToString() + "\n" + 
      "Form HasChildren:  " + this.HasChildren.ToString() + "\n" + 
      "Form Controls Count:  " + this.Controls.Count.ToString(),
      "Button Relationships");
  }
  static void Main() 
  {
    Application.Run(new ControlParent());
  }
}


Control.TopLevelControl

 
using System;
using System.Drawing;
using System.Windows.Forms;
public class ControlParent : Form
{
  private Button btn;
  public ControlParent()
  {
    btn = new Button();
    btn.Location = new Point(50,50);
    btn.Size = new Size(100,23);
    btn.Text = "Relationships";
        //Controls.Add(btn);
    btn.Parent = this;
    MessageBox.Show("Button Parent:  " + btn.Parent.ToString() + "\n" +
      "Button HasChildren:  " + btn.HasChildren.ToString() + "\n" + 
      "TopLevelControl:  " + btn.TopLevelControl.ToString() + "\n" + 
      "Form HasChildren:  " + this.HasChildren.ToString() + "\n" + 
      "Form Controls Count:  " + this.Controls.Count.ToString(),
      "Button Relationships");
  }
  static void Main() 
  {
    Application.Run(new ControlParent());
  }
}