<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://nfex.ru/index.php?action=history&amp;feed=atom&amp;title=Csharp%2FC_Sharp_by_API%2FSystem.Windows.Forms%2FPanel</id>
		<title>Csharp/C Sharp by API/System.Windows.Forms/Panel - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://nfex.ru/index.php?action=history&amp;feed=atom&amp;title=Csharp%2FC_Sharp_by_API%2FSystem.Windows.Forms%2FPanel"/>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=Csharp/C_Sharp_by_API/System.Windows.Forms/Panel&amp;action=history"/>
		<updated>2026-04-29T23:47:14Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://nfex.ru/index.php?title=Csharp/C_Sharp_by_API/System.Windows.Forms/Panel&amp;diff=4064&amp;oldid=prev</id>
		<title> в 15:31, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=Csharp/C_Sharp_by_API/System.Windows.Forms/Panel&amp;diff=4064&amp;oldid=prev"/>
				<updated>2010-05-26T15:31:35Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 15:31, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://nfex.ru/index.php?title=Csharp/C_Sharp_by_API/System.Windows.Forms/Panel&amp;diff=4065&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=Csharp/C_Sharp_by_API/System.Windows.Forms/Panel&amp;diff=4065&amp;oldid=prev"/>
				<updated>2010-05-26T12:09:01Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==extends Panel==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt; &lt;br /&gt;
using System;&lt;br /&gt;
using System.Collections.Generic;&lt;br /&gt;
using System.ruponentModel;&lt;br /&gt;
using System.Drawing;&lt;br /&gt;
using System.Data;&lt;br /&gt;
using System.Text;&lt;br /&gt;
using System.Windows.Forms;&lt;br /&gt;
public class ScrollingText : System.Windows.Forms.Panel {&lt;br /&gt;
    Font textFont = new Font(&amp;quot;Times New Roman&amp;quot;, 24);&lt;br /&gt;
    public ScrollingText() {&lt;br /&gt;
        InitializeComponent();&lt;br /&gt;
    }&lt;br /&gt;
    private void ScrollingText_Paint(object sender, PaintEventArgs e) {&lt;br /&gt;
        Graphics g = e.Graphics;&lt;br /&gt;
        g.TranslateTransform(this.AutoScrollPosition.X, this.AutoScrollPosition.Y);&lt;br /&gt;
        g.DrawString(&amp;quot;Hello, World&amp;quot;, textFont, Brushes.Black, 40, 40);&lt;br /&gt;
        g.DrawString(&amp;quot;Hello, World&amp;quot;, textFont, Brushes.Red, 40, 240);&lt;br /&gt;
        g.DrawString(&amp;quot;Hello, World&amp;quot;, textFont, Brushes.Blue, 350, 40);&lt;br /&gt;
        g.DrawString(&amp;quot;Hello, World&amp;quot;, textFont, Brushes.Green, 350, 240);&lt;br /&gt;
    }&lt;br /&gt;
    private void InitializeComponent() {&lt;br /&gt;
        this.SuspendLayout();&lt;br /&gt;
        this.AutoScroll = true;&lt;br /&gt;
        this.AutoScrollMinSize = new System.Drawing.Size(600, 400);&lt;br /&gt;
        this.BackColor = System.Drawing.SystemColors.Window;&lt;br /&gt;
        this.Paint += new System.Windows.Forms.PaintEventHandler(this.ScrollingText_Paint);&lt;br /&gt;
        this.ResumeLayout(false);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
public class Form1 : Form {&lt;br /&gt;
    public Form1() {&lt;br /&gt;
        InitializeComponent();&lt;br /&gt;
    }&lt;br /&gt;
    private void InitializeComponent() {&lt;br /&gt;
        this.scrollingText1 = new ScrollingText();&lt;br /&gt;
        this.SuspendLayout();&lt;br /&gt;
        this.scrollingText1.AutoScroll = true;&lt;br /&gt;
        this.scrollingText1.AutoScrollMinSize = new System.Drawing.Size(600, 400);&lt;br /&gt;
        this.scrollingText1.BackColor = System.Drawing.SystemColors.Window;&lt;br /&gt;
        this.scrollingText1.Location = new System.Drawing.Point(13, 13);&lt;br /&gt;
        this.scrollingText1.Size = new System.Drawing.Size(267, 243);&lt;br /&gt;
        this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F);&lt;br /&gt;
        this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;&lt;br /&gt;
        this.ClientSize = new System.Drawing.Size(292, 268);&lt;br /&gt;
        this.Controls.Add(this.scrollingText1);&lt;br /&gt;
        this.ResumeLayout(false);&lt;br /&gt;
    }&lt;br /&gt;
    private ScrollingText scrollingText1;&lt;br /&gt;
    [STAThread]&lt;br /&gt;
    static void Main() {&lt;br /&gt;
        Application.EnableVisualStyles();&lt;br /&gt;
        Application.Run(new Form1());&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==new Panel()==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;  &lt;br /&gt;
using System;&lt;br /&gt;
using System.Drawing;&lt;br /&gt;
using System.Drawing.Imaging;&lt;br /&gt;
using System.IO;&lt;br /&gt;
using System.Windows.Forms;&lt;br /&gt;
class ClipViewAll : Form {&lt;br /&gt;
    Panel panelDisplay, panelButtons;&lt;br /&gt;
    RadioButton radioChecked;&lt;br /&gt;
    string[] astrFormatsSave = new string[0];&lt;br /&gt;
    public static void Main() {&lt;br /&gt;
        Application.Run(new ClipViewAll());&lt;br /&gt;
    }&lt;br /&gt;
    public ClipViewAll() {&lt;br /&gt;
        panelDisplay = new Panel();&lt;br /&gt;
        panelDisplay.Parent = this;&lt;br /&gt;
        panelDisplay.Dock = DockStyle.Fill;&lt;br /&gt;
        panelDisplay.Paint += new PaintEventHandler(PanelOnPaint);&lt;br /&gt;
        panelDisplay.BorderStyle = BorderStyle.Fixed3D;&lt;br /&gt;
        Splitter split = new Splitter();&lt;br /&gt;
        split.Parent = this;&lt;br /&gt;
        split.Dock = DockStyle.Left;&lt;br /&gt;
        panelButtons = new Panel();&lt;br /&gt;
        panelButtons.Parent = this;&lt;br /&gt;
        panelButtons.Dock = DockStyle.Left;&lt;br /&gt;
        panelButtons.AutoScroll = true;&lt;br /&gt;
        panelButtons.Width = Width / 2;&lt;br /&gt;
        Timer timer = new Timer();&lt;br /&gt;
        timer.Interval = 1000;&lt;br /&gt;
        timer.Tick += new EventHandler(TimerOnTick);&lt;br /&gt;
        timer.Enabled = true;&lt;br /&gt;
    }&lt;br /&gt;
    void TimerOnTick(object obj, EventArgs ea) {&lt;br /&gt;
        IDataObject data = Clipboard.GetDataObject();&lt;br /&gt;
        string[] astrFormats = data.GetFormats();&lt;br /&gt;
        bool bUpdate = false;&lt;br /&gt;
        if (astrFormats.Length != astrFormatsSave.Length)&lt;br /&gt;
            bUpdate = true;&lt;br /&gt;
        else {&lt;br /&gt;
            for (int i = 0; i &amp;lt; astrFormats.Length; i++)&lt;br /&gt;
                if (astrFormats[i] != astrFormatsSave[i]) {&lt;br /&gt;
                    bUpdate = true;&lt;br /&gt;
                    break;&lt;br /&gt;
                }&lt;br /&gt;
        }&lt;br /&gt;
        panelDisplay.Invalidate();&lt;br /&gt;
        if (!bUpdate)&lt;br /&gt;
            return;&lt;br /&gt;
        astrFormatsSave = astrFormats;&lt;br /&gt;
        panelButtons.Controls.Clear();&lt;br /&gt;
        Graphics grfx = CreateGraphics();&lt;br /&gt;
        EventHandler eh = new EventHandler(RadioButtonOnClick);&lt;br /&gt;
        int cxText = AutoScaleBaseSize.Width;&lt;br /&gt;
        int cyText = AutoScaleBaseSize.Height;&lt;br /&gt;
        for (int i = 0; i &amp;lt; astrFormats.Length; i++) {&lt;br /&gt;
            RadioButton radio = new RadioButton();&lt;br /&gt;
            radio.Parent = panelButtons;&lt;br /&gt;
            radio.Text = astrFormats[i];&lt;br /&gt;
            if (!data.GetDataPresent(astrFormats[i], false))&lt;br /&gt;
                radio.Text += &amp;quot;*&amp;quot;;&lt;br /&gt;
            try {&lt;br /&gt;
                object objClip = data.GetData(astrFormats[i]);&lt;br /&gt;
                radio.Text += &amp;quot; (&amp;quot; + objClip.GetType() + &amp;quot;)&amp;quot;;&lt;br /&gt;
            } catch {&lt;br /&gt;
                radio.Text += &amp;quot; (Exception on GetData or GetType!)&amp;quot;;&lt;br /&gt;
            }&lt;br /&gt;
            radio.Tag = astrFormats[i];&lt;br /&gt;
            radio.Location = new Point(cxText, i * 3 * cyText / 2);&lt;br /&gt;
            radio.Size = new Size((radio.Text.Length + 20) * cxText,&lt;br /&gt;
                                  3 * cyText / 2);&lt;br /&gt;
            radio.Click += eh;&lt;br /&gt;
        }&lt;br /&gt;
        grfx.Dispose();&lt;br /&gt;
        radioChecked = null;&lt;br /&gt;
    }&lt;br /&gt;
    void RadioButtonOnClick(object obj, EventArgs ea) {&lt;br /&gt;
        radioChecked = (RadioButton)obj;&lt;br /&gt;
        panelDisplay.Invalidate();&lt;br /&gt;
    }&lt;br /&gt;
    void PanelOnPaint(object obj, PaintEventArgs pea) {&lt;br /&gt;
        Panel panel = (Panel)obj;&lt;br /&gt;
        Graphics grfx = pea.Graphics;&lt;br /&gt;
        Brush brush = new SolidBrush(panel.ForeColor);&lt;br /&gt;
        if (radioChecked == null)&lt;br /&gt;
            return;&lt;br /&gt;
        IDataObject data = Clipboard.GetDataObject();&lt;br /&gt;
        object objClip = data.GetData((string)radioChecked.Tag);&lt;br /&gt;
        if (objClip == null)&lt;br /&gt;
            return;&lt;br /&gt;
        else if (objClip.GetType() == typeof(string)) {&lt;br /&gt;
            grfx.DrawString((string)objClip, Font, brush,&lt;br /&gt;
                            panel.ClientRectangle);&lt;br /&gt;
        } else if (objClip.GetType() == typeof(string[]))   // FileDrop&lt;br /&gt;
          {&lt;br /&gt;
            string str = string.Join(&amp;quot;\r\n&amp;quot;, (string[])objClip);&lt;br /&gt;
            grfx.DrawString(str, Font, brush, panel.ClientRectangle);&lt;br /&gt;
        } else if (objClip.GetType() == typeof(Bitmap) ||&lt;br /&gt;
                   objClip.GetType() == typeof(Metafile) ||&lt;br /&gt;
                   objClip.GetType() == typeof(Image)) {&lt;br /&gt;
            grfx.DrawImage((Image)objClip, 0, 0);&lt;br /&gt;
        } else if (objClip.GetType() == typeof(MemoryStream)) {&lt;br /&gt;
            Stream stream = (Stream)objClip;&lt;br /&gt;
            byte[] abyBuffer = new byte[16];&lt;br /&gt;
            long lAddress = 0;&lt;br /&gt;
            int iCount;&lt;br /&gt;
            Font font = new Font(FontFamily.GenericMonospace,&lt;br /&gt;
                                   Font.SizeInPoints);&lt;br /&gt;
            float y = 0;&lt;br /&gt;
            while ((iCount = stream.Read(abyBuffer, 0, 16)) &amp;gt; 0) {&lt;br /&gt;
                lAddress += 16;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Panel.AutoScroll==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt; &lt;br /&gt;
using System;&lt;br /&gt;
using System.Collections.Generic;&lt;br /&gt;
using System.ruponentModel;&lt;br /&gt;
using System.Data;&lt;br /&gt;
using System.Drawing;&lt;br /&gt;
using System.Text;&lt;br /&gt;
using System.Windows.Forms;&lt;br /&gt;
public class Form1 : Form&lt;br /&gt;
{&lt;br /&gt;
  private System.Windows.Forms.Panel Panel1;&lt;br /&gt;
  private System.Windows.Forms.Button Button6;&lt;br /&gt;
  private System.Windows.Forms.Button Button5;&lt;br /&gt;
  private System.Windows.Forms.Button Button4;&lt;br /&gt;
  private System.Windows.Forms.Button Button3;&lt;br /&gt;
  private System.Windows.Forms.Button Button2;&lt;br /&gt;
  private System.Windows.Forms.Button Button1;&lt;br /&gt;
  public Form1() {&lt;br /&gt;
        InitializeComponent();&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  private void InitializeComponent()&lt;br /&gt;
  {&lt;br /&gt;
    this.Panel1 = new System.Windows.Forms.Panel();&lt;br /&gt;
    this.Button6 = new System.Windows.Forms.Button();&lt;br /&gt;
    this.Button5 = new System.Windows.Forms.Button();&lt;br /&gt;
    this.Button4 = new System.Windows.Forms.Button();&lt;br /&gt;
    this.Button3 = new System.Windows.Forms.Button();&lt;br /&gt;
    this.Button2 = new System.Windows.Forms.Button();&lt;br /&gt;
    this.Button1 = new System.Windows.Forms.Button();&lt;br /&gt;
    this.Panel1.SuspendLayout();&lt;br /&gt;
    this.SuspendLayout();&lt;br /&gt;
    // &lt;br /&gt;
    // Panel1&lt;br /&gt;
    // &lt;br /&gt;
    this.Panel1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)&lt;br /&gt;
          | System.Windows.Forms.AnchorStyles.Left)&lt;br /&gt;
          | System.Windows.Forms.AnchorStyles.Right)));&lt;br /&gt;
    this.Panel1.AutoScroll = true;&lt;br /&gt;
    this.Panel1.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;&lt;br /&gt;
    this.Panel1.Controls.Add(this.Button6);&lt;br /&gt;
    this.Panel1.Controls.Add(this.Button5);&lt;br /&gt;
    this.Panel1.Controls.Add(this.Button4);&lt;br /&gt;
    this.Panel1.Controls.Add(this.Button3);&lt;br /&gt;
    this.Panel1.Controls.Add(this.Button2);&lt;br /&gt;
    this.Panel1.Controls.Add(this.Button1);&lt;br /&gt;
    this.Panel1.Location = new System.Drawing.Point(12, 12);&lt;br /&gt;
    this.Panel1.Name = &amp;quot;Panel1&amp;quot;;&lt;br /&gt;
    this.Panel1.Size = new System.Drawing.Size(218, 198);&lt;br /&gt;
    this.Panel1.TabIndex = 3;&lt;br /&gt;
    // &lt;br /&gt;
    // Button6&lt;br /&gt;
    // &lt;br /&gt;
    this.Button6.FlatStyle = System.Windows.Forms.FlatStyle.System;&lt;br /&gt;
    this.Button6.Location = new System.Drawing.Point(16, 180);&lt;br /&gt;
    this.Button6.Name = &amp;quot;Button6&amp;quot;;&lt;br /&gt;
    this.Button6.Size = new System.Drawing.Size(168, 24);&lt;br /&gt;
    this.Button6.TabIndex = 5;&lt;br /&gt;
    this.Button6.Text = &amp;quot;Button6&amp;quot;;&lt;br /&gt;
    // &lt;br /&gt;
    // Button5&lt;br /&gt;
    // &lt;br /&gt;
    this.Button5.FlatStyle = System.Windows.Forms.FlatStyle.System;&lt;br /&gt;
    this.Button5.Location = new System.Drawing.Point(16, 148);&lt;br /&gt;
    this.Button5.Name = &amp;quot;Button5&amp;quot;;&lt;br /&gt;
    this.Button5.Size = new System.Drawing.Size(168, 24);&lt;br /&gt;
    this.Button5.TabIndex = 4;&lt;br /&gt;
    this.Button5.Text = &amp;quot;Button5&amp;quot;;&lt;br /&gt;
    // &lt;br /&gt;
    // Button4&lt;br /&gt;
    // &lt;br /&gt;
    this.Button4.FlatStyle = System.Windows.Forms.FlatStyle.System;&lt;br /&gt;
    this.Button4.Location = new System.Drawing.Point(16, 116);&lt;br /&gt;
    this.Button4.Name = &amp;quot;Button4&amp;quot;;&lt;br /&gt;
    this.Button4.Size = new System.Drawing.Size(168, 24);&lt;br /&gt;
    this.Button4.TabIndex = 3;&lt;br /&gt;
    this.Button4.Text = &amp;quot;Button4&amp;quot;;&lt;br /&gt;
    // &lt;br /&gt;
    // Button3&lt;br /&gt;
    // &lt;br /&gt;
    this.Button3.FlatStyle = System.Windows.Forms.FlatStyle.System;&lt;br /&gt;
    this.Button3.Location = new System.Drawing.Point(16, 84);&lt;br /&gt;
    this.Button3.Name = &amp;quot;Button3&amp;quot;;&lt;br /&gt;
    this.Button3.Size = new System.Drawing.Size(168, 24);&lt;br /&gt;
    this.Button3.TabIndex = 2;&lt;br /&gt;
    this.Button3.Text = &amp;quot;Button3&amp;quot;;&lt;br /&gt;
    // &lt;br /&gt;
    // Button2&lt;br /&gt;
    // &lt;br /&gt;
    this.Button2.FlatStyle = System.Windows.Forms.FlatStyle.System;&lt;br /&gt;
    this.Button2.Location = new System.Drawing.Point(16, 52);&lt;br /&gt;
    this.Button2.Name = &amp;quot;Button2&amp;quot;;&lt;br /&gt;
    this.Button2.Size = new System.Drawing.Size(168, 24);&lt;br /&gt;
    this.Button2.TabIndex = 1;&lt;br /&gt;
    this.Button2.Text = &amp;quot;Button2&amp;quot;;&lt;br /&gt;
    // &lt;br /&gt;
    // Button1&lt;br /&gt;
    // &lt;br /&gt;
    this.Button1.FlatStyle = System.Windows.Forms.FlatStyle.System;&lt;br /&gt;
    this.Button1.Location = new System.Drawing.Point(16, 20);&lt;br /&gt;
    this.Button1.Name = &amp;quot;Button1&amp;quot;;&lt;br /&gt;
    this.Button1.Size = new System.Drawing.Size(168, 24);&lt;br /&gt;
    this.Button1.TabIndex = 0;&lt;br /&gt;
    this.Button1.Text = &amp;quot;Button1&amp;quot;;&lt;br /&gt;
    // &lt;br /&gt;
    // ScrollablePanel&lt;br /&gt;
    // &lt;br /&gt;
    this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);&lt;br /&gt;
    this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;&lt;br /&gt;
    this.ClientSize = new System.Drawing.Size(248, 224);&lt;br /&gt;
    this.Controls.Add(this.Panel1);&lt;br /&gt;
    this.Name = &amp;quot;ScrollablePanel&amp;quot;;&lt;br /&gt;
    this.Text = &amp;quot;ScrollablePanel&amp;quot;;&lt;br /&gt;
    this.Panel1.ResumeLayout(false);&lt;br /&gt;
    this.ResumeLayout(false);&lt;br /&gt;
  }&lt;br /&gt;
  [STAThread]&lt;br /&gt;
  static void Main()&lt;br /&gt;
  {&lt;br /&gt;
    Application.EnableVisualStyles();&lt;br /&gt;
    Application.Run(new Form1());&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Panel.AutoScrollPosition==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt; &lt;br /&gt;
using System;&lt;br /&gt;
using System.Collections.Generic;&lt;br /&gt;
using System.ruponentModel;&lt;br /&gt;
using System.Data;&lt;br /&gt;
using System.Drawing;&lt;br /&gt;
using System.Text;&lt;br /&gt;
using System.Windows.Forms;&lt;br /&gt;
public class Form1 : Form {&lt;br /&gt;
    public Form1() {&lt;br /&gt;
        this.panel1 = new System.Windows.Forms.Panel();&lt;br /&gt;
        this.SuspendLayout();&lt;br /&gt;
        this.panel1.AutoScroll = true;&lt;br /&gt;
        this.panel1.BackgroundImage = new Bitmap(&amp;quot;yourfile.bmp&amp;quot;);&lt;br /&gt;
        this.panel1.Location = new System.Drawing.Point(13, 13);&lt;br /&gt;
        this.panel1.Size = new System.Drawing.Size(267, 243);&lt;br /&gt;
        this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F);&lt;br /&gt;
        this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;&lt;br /&gt;
        this.ClientSize = new System.Drawing.Size(292, 268);&lt;br /&gt;
        this.Controls.Add(this.panel1);&lt;br /&gt;
        this.Load += new System.EventHandler(this.Form1_Load);&lt;br /&gt;
        this.ResumeLayout(false);        this.panel1.AutoScrollMinSize = this.panel1.BackgroundImage.Size;&lt;br /&gt;
    }&lt;br /&gt;
    private void Form1_Load(object sender, EventArgs e) {&lt;br /&gt;
        int midX = this.panel1.AutoScrollMinSize.Width / 2;&lt;br /&gt;
        int midY = this.panel1.AutoScrollMinSize.Height / 2;&lt;br /&gt;
        int halfSizeX = this.panel1.Size.Width / 2;&lt;br /&gt;
        int halfSizeY = this.panel1.Size.Height / 2;&lt;br /&gt;
        int startPosX = midX - halfSizeX;&lt;br /&gt;
        if (startPosX &amp;lt; 0) startPosX = 0;&lt;br /&gt;
        int startPosY = midY - halfSizeY;&lt;br /&gt;
        if (startPosY &amp;lt; 0) startPosY = 0;&lt;br /&gt;
        this.panel1.AutoScrollPosition = new Point(startPosX, startPosY);&lt;br /&gt;
    }&lt;br /&gt;
    private System.Windows.Forms.Panel panel1;&lt;br /&gt;
    [STAThread]&lt;br /&gt;
    static void Main() {&lt;br /&gt;
        Application.EnableVisualStyles();&lt;br /&gt;
        Application.Run(new Form1());&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Panel.Dock==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt; &lt;br /&gt;
using System;&lt;br /&gt;
using System.Drawing;&lt;br /&gt;
using System.Windows.Forms;&lt;br /&gt;
   &lt;br /&gt;
class ToggleButtons: Form&lt;br /&gt;
{&lt;br /&gt;
     protected Panel   panel = new Panel();&lt;br /&gt;
     protected ToolBar tbar;&lt;br /&gt;
     protected string  strText = &amp;quot;Toggle&amp;quot;;&lt;br /&gt;
     protected Color   clrText = SystemColors.WindowText;&lt;br /&gt;
     FontStyle         fontstyle = FontStyle.Regular;&lt;br /&gt;
   &lt;br /&gt;
     public static void Main()&lt;br /&gt;
     {&lt;br /&gt;
          Application.Run(new ToggleButtons());&lt;br /&gt;
     }&lt;br /&gt;
     public ToggleButtons()&lt;br /&gt;
     {&lt;br /&gt;
          panel.Parent = this;&lt;br /&gt;
          panel.Dock = DockStyle.Fill;&lt;br /&gt;
          panel.BackColor = SystemColors.Window;&lt;br /&gt;
          panel.ForeColor = SystemColors.WindowText;&lt;br /&gt;
          panel.Resize += new EventHandler(PanelOnResize);&lt;br /&gt;
          panel.Paint += new PaintEventHandler(PanelOnPaint);&lt;br /&gt;
   &lt;br /&gt;
          Bitmap bm = new Bitmap(GetType(), &amp;quot;ToggleButtons.bmp&amp;quot;);&lt;br /&gt;
   &lt;br /&gt;
          ImageList imglst = new ImageList();&lt;br /&gt;
          imglst.ImageSize = new Size(bm.Width / 4, bm.Height);&lt;br /&gt;
          imglst.Images.AddStrip(bm);&lt;br /&gt;
          imglst.TransparentColor = Color.White;&lt;br /&gt;
   &lt;br /&gt;
          tbar = new ToolBar();&lt;br /&gt;
          tbar.ImageList = imglst;&lt;br /&gt;
          tbar.Parent = this;&lt;br /&gt;
          tbar.ShowToolTips = true;&lt;br /&gt;
          tbar.ButtonClick += new ToolBarButtonClickEventHandler(ToolBarOnClick);&lt;br /&gt;
   &lt;br /&gt;
          FontStyle[] afs = { FontStyle.Bold, FontStyle.Italic,&lt;br /&gt;
                              FontStyle.Underline, FontStyle.Strikeout };&lt;br /&gt;
   &lt;br /&gt;
          for (int i = 0; i &amp;lt; 4; i++)&lt;br /&gt;
          {&lt;br /&gt;
               ToolBarButton tbarbtn = new ToolBarButton();&lt;br /&gt;
               tbarbtn.ImageIndex = i;&lt;br /&gt;
               tbarbtn.Style = ToolBarButtonStyle.ToggleButton;&lt;br /&gt;
               tbarbtn.ToolTipText = afs[i].ToString();&lt;br /&gt;
               tbarbtn.Tag = afs[i];&lt;br /&gt;
   &lt;br /&gt;
               tbar.Buttons.Add(tbarbtn);&lt;br /&gt;
          }&lt;br /&gt;
     }&lt;br /&gt;
     void ToolBarOnClick(object obj, ToolBarButtonClickEventArgs tbbcea)&lt;br /&gt;
     {&lt;br /&gt;
          ToolBarButton tbarbtn = tbbcea.Button;&lt;br /&gt;
   &lt;br /&gt;
          if (tbarbtn.Tag == null ||&lt;br /&gt;
              tbarbtn.Tag.GetType() != typeof(FontStyle))&lt;br /&gt;
               return;&lt;br /&gt;
   &lt;br /&gt;
          if (tbarbtn.Pushed)&lt;br /&gt;
               fontstyle |= (FontStyle) tbarbtn.Tag;&lt;br /&gt;
          else&lt;br /&gt;
               fontstyle &amp;amp;= ~(FontStyle) tbarbtn.Tag;&lt;br /&gt;
   &lt;br /&gt;
          panel.Invalidate();&lt;br /&gt;
     }&lt;br /&gt;
     void PanelOnResize(object obj, EventArgs ea)&lt;br /&gt;
     {&lt;br /&gt;
          Panel panel = (Panel) obj;&lt;br /&gt;
          panel.Invalidate();&lt;br /&gt;
     }&lt;br /&gt;
     void PanelOnPaint(object obj, PaintEventArgs pea)&lt;br /&gt;
     {&lt;br /&gt;
          Panel    panel = (Panel) obj;&lt;br /&gt;
          Graphics grfx  = pea.Graphics;&lt;br /&gt;
          Font     font  = new Font(&amp;quot;Times New Roman&amp;quot;, 72, fontstyle);&lt;br /&gt;
          SizeF    sizef = grfx.MeasureString(strText, font);&lt;br /&gt;
   &lt;br /&gt;
          grfx.DrawString(strText, font, new SolidBrush(clrText),&lt;br /&gt;
                          (panel.Width - sizef.Width) / 2,&lt;br /&gt;
                          (panel.Height - sizef.Height) / 2);&lt;br /&gt;
     }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Panel.DockPadding.==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt; &lt;br /&gt;
using System;&lt;br /&gt;
using System.Collections.Generic;&lt;br /&gt;
using System.ruponentModel;&lt;br /&gt;
using System.Data;&lt;br /&gt;
using System.Drawing;&lt;br /&gt;
using System.Text;&lt;br /&gt;
using System.Windows.Forms;&lt;br /&gt;
public class Form1 : Form&lt;br /&gt;
{&lt;br /&gt;
  private System.Windows.Forms.GroupBox GroupBox1;&lt;br /&gt;
  private System.Windows.Forms.Button cmdUpdate;&lt;br /&gt;
  private System.Windows.Forms.NumericUpDown udDockPaddingForm;&lt;br /&gt;
  private System.Windows.Forms.NumericUpDown udDockPaddingPanel;&lt;br /&gt;
  private System.Windows.Forms.ruboBox lstDockPanel;&lt;br /&gt;
  private System.Windows.Forms.Label Label3;&lt;br /&gt;
  private System.Windows.Forms.Label Label4;&lt;br /&gt;
  private System.Windows.Forms.ruboBox lstDockTextBox;&lt;br /&gt;
  private System.Windows.Forms.Label Label2;&lt;br /&gt;
  private System.Windows.Forms.Label Label1;&lt;br /&gt;
  private System.Windows.Forms.Panel pnlDock;&lt;br /&gt;
  private System.Windows.Forms.TextBox txtDock;&lt;br /&gt;
  public Form1() {&lt;br /&gt;
        InitializeComponent();&lt;br /&gt;
        lstDockPanel.Items.AddRange(Enum.GetNames(Dock.GetType()));&lt;br /&gt;
      lstDockTextBox.Items.AddRange(Enum.GetNames(Dock.GetType()));&lt;br /&gt;
      lstDockPanel.Text = Enum.GetName(Dock.GetType(), pnlDock.Dock);&lt;br /&gt;
      lstDockTextBox.Text = Enum.GetName(Dock.GetType(), lstDockTextBox.Dock);&lt;br /&gt;
  }&lt;br /&gt;
  private void cmdUpdate_Click(object sender, EventArgs e)&lt;br /&gt;
  {&lt;br /&gt;
    this.DockPadding.All = (int)udDockPaddingForm.Value;&lt;br /&gt;
    pnlDock.DockPadding.All = (int)udDockPaddingPanel.Value;&lt;br /&gt;
    TypeConverter converter;&lt;br /&gt;
    converter = TypeDescriptor.GetConverter(Dock.GetType());&lt;br /&gt;
    pnlDock.Dock = (DockStyle)converter.ConvertFromString(lstDockPanel.Text);&lt;br /&gt;
    txtDock.Dock = (DockStyle)converter.ConvertFromString(lstDockTextBox.Text);&lt;br /&gt;
  }&lt;br /&gt;
  private void InitializeComponent()&lt;br /&gt;
  {&lt;br /&gt;
    this.GroupBox1 = new System.Windows.Forms.GroupBox();&lt;br /&gt;
    this.cmdUpdate = new System.Windows.Forms.Button();&lt;br /&gt;
    this.udDockPaddingForm = new System.Windows.Forms.NumericUpDown();&lt;br /&gt;
    this.udDockPaddingPanel = new System.Windows.Forms.NumericUpDown();&lt;br /&gt;
    this.lstDockPanel = new System.Windows.Forms.ruboBox();&lt;br /&gt;
    this.Label3 = new System.Windows.Forms.Label();&lt;br /&gt;
    this.Label4 = new System.Windows.Forms.Label();&lt;br /&gt;
    this.lstDockTextBox = new System.Windows.Forms.ruboBox();&lt;br /&gt;
    this.Label2 = new System.Windows.Forms.Label();&lt;br /&gt;
    this.Label1 = new System.Windows.Forms.Label();&lt;br /&gt;
    this.pnlDock = new System.Windows.Forms.Panel();&lt;br /&gt;
    this.txtDock = new System.Windows.Forms.TextBox();&lt;br /&gt;
    this.GroupBox1.SuspendLayout();&lt;br /&gt;
    ((System.ruponentModel.ISupportInitialize)(this.udDockPaddingForm)).BeginInit();&lt;br /&gt;
    ((System.ruponentModel.ISupportInitialize)(this.udDockPaddingPanel)).BeginInit();&lt;br /&gt;
    this.pnlDock.SuspendLayout();&lt;br /&gt;
    this.SuspendLayout();&lt;br /&gt;
    // &lt;br /&gt;
    // GroupBox1&lt;br /&gt;
    // &lt;br /&gt;
    this.GroupBox1.Controls.Add(this.cmdUpdate);&lt;br /&gt;
    this.GroupBox1.Controls.Add(this.udDockPaddingForm);&lt;br /&gt;
    this.GroupBox1.Controls.Add(this.udDockPaddingPanel);&lt;br /&gt;
    this.GroupBox1.Controls.Add(this.lstDockPanel);&lt;br /&gt;
    this.GroupBox1.Controls.Add(this.Label3);&lt;br /&gt;
    this.GroupBox1.Controls.Add(this.Label4);&lt;br /&gt;
    this.GroupBox1.Controls.Add(this.lstDockTextBox);&lt;br /&gt;
    this.GroupBox1.Controls.Add(this.Label2);&lt;br /&gt;
    this.GroupBox1.Controls.Add(this.Label1);&lt;br /&gt;
    this.GroupBox1.Location = new System.Drawing.Point(202, 20);&lt;br /&gt;
    this.GroupBox1.Name = &amp;quot;GroupBox1&amp;quot;;&lt;br /&gt;
    this.GroupBox1.Size = new System.Drawing.Size(284, 224);&lt;br /&gt;
    this.GroupBox1.TabIndex = 14;&lt;br /&gt;
    this.GroupBox1.TabStop = false;&lt;br /&gt;
    this.GroupBox1.Text = &amp;quot;Configure&amp;quot;;&lt;br /&gt;
    // &lt;br /&gt;
    // cmdUpdate&lt;br /&gt;
    // &lt;br /&gt;
    this.cmdUpdate.Location = new System.Drawing.Point(160, 180);&lt;br /&gt;
    this.cmdUpdate.Name = &amp;quot;cmdUpdate&amp;quot;;&lt;br /&gt;
    this.cmdUpdate.Size = new System.Drawing.Size(84, 24);&lt;br /&gt;
    this.cmdUpdate.TabIndex = 10;&lt;br /&gt;
    this.cmdUpdate.Text = &amp;quot;Update&amp;quot;;&lt;br /&gt;
    this.cmdUpdate.Click += new System.EventHandler(this.cmdUpdate_Click);&lt;br /&gt;
    // &lt;br /&gt;
    // udDockPaddingForm&lt;br /&gt;
    // &lt;br /&gt;
    this.udDockPaddingForm.Increment = new decimal(new int[] {&lt;br /&gt;
        5,&lt;br /&gt;
        0,&lt;br /&gt;
        0,&lt;br /&gt;
        0});&lt;br /&gt;
    this.udDockPaddingForm.Location = new System.Drawing.Point(160, 32);&lt;br /&gt;
    this.udDockPaddingForm.Name = &amp;quot;udDockPaddingForm&amp;quot;;&lt;br /&gt;
    this.udDockPaddingForm.Size = new System.Drawing.Size(52, 21);&lt;br /&gt;
    this.udDockPaddingForm.TabIndex = 4;&lt;br /&gt;
    // &lt;br /&gt;
    // udDockPaddingPanel&lt;br /&gt;
    // &lt;br /&gt;
    this.udDockPaddingPanel.Increment = new decimal(new int[] {&lt;br /&gt;
        5,&lt;br /&gt;
        0,&lt;br /&gt;
        0,&lt;br /&gt;
        0});&lt;br /&gt;
    this.udDockPaddingPanel.Location = new System.Drawing.Point(160, 56);&lt;br /&gt;
    this.udDockPaddingPanel.Name = &amp;quot;udDockPaddingPanel&amp;quot;;&lt;br /&gt;
    this.udDockPaddingPanel.Size = new System.Drawing.Size(52, 21);&lt;br /&gt;
    this.udDockPaddingPanel.TabIndex = 5;&lt;br /&gt;
    this.udDockPaddingPanel.Value = new decimal(new int[] {&lt;br /&gt;
        20,&lt;br /&gt;
        0,&lt;br /&gt;
        0,&lt;br /&gt;
        0});&lt;br /&gt;
    // &lt;br /&gt;
    // lstDockPanel&lt;br /&gt;
    // &lt;br /&gt;
    this.lstDockPanel.DropDownStyle = System.Windows.Forms.ruboBoxStyle.DropDownList;&lt;br /&gt;
    this.lstDockPanel.FormattingEnabled = true;&lt;br /&gt;
    this.lstDockPanel.Location = new System.Drawing.Point(156, 100);&lt;br /&gt;
    this.lstDockPanel.Name = &amp;quot;lstDockPanel&amp;quot;;&lt;br /&gt;
    this.lstDockPanel.Size = new System.Drawing.Size(92, 21);&lt;br /&gt;
    this.lstDockPanel.TabIndex = 8;&lt;br /&gt;
    // &lt;br /&gt;
    // Label3&lt;br /&gt;
    // &lt;br /&gt;
    this.Label3.Location = new System.Drawing.Point(16, 104);&lt;br /&gt;
    this.Label3.Name = &amp;quot;Label3&amp;quot;;&lt;br /&gt;
    this.Label3.Size = new System.Drawing.Size(136, 20);&lt;br /&gt;
    this.Label3.TabIndex = 6;&lt;br /&gt;
    this.Label3.Text = &amp;quot;Dock Panel To:&amp;quot;;&lt;br /&gt;
    // &lt;br /&gt;
    // Label4&lt;br /&gt;
    // &lt;br /&gt;
    this.Label4.Location = new System.Drawing.Point(16, 128);&lt;br /&gt;
    this.Label4.Name = &amp;quot;Label4&amp;quot;;&lt;br /&gt;
    this.Label4.Size = new System.Drawing.Size(136, 20);&lt;br /&gt;
    this.Label4.TabIndex = 7;&lt;br /&gt;
    this.Label4.Text = &amp;quot;Dock TextBox To:&amp;quot;;&lt;br /&gt;
    // &lt;br /&gt;
    // lstDockTextBox&lt;br /&gt;
    // &lt;br /&gt;
    this.lstDockTextBox.DropDownStyle = System.Windows.Forms.ruboBoxStyle.DropDownList;&lt;br /&gt;
    this.lstDockTextBox.FormattingEnabled = true;&lt;br /&gt;
    this.lstDockTextBox.Location = new System.Drawing.Point(156, 124);&lt;br /&gt;
    this.lstDockTextBox.Name = &amp;quot;lstDockTextBox&amp;quot;;&lt;br /&gt;
    this.lstDockTextBox.Size = new System.Drawing.Size(92, 21);&lt;br /&gt;
    this.lstDockTextBox.TabIndex = 9;&lt;br /&gt;
    // &lt;br /&gt;
    // Label2&lt;br /&gt;
    // &lt;br /&gt;
    this.Label2.Location = new System.Drawing.Point(16, 60);&lt;br /&gt;
    this.Label2.Name = &amp;quot;Label2&amp;quot;;&lt;br /&gt;
    this.Label2.Size = new System.Drawing.Size(136, 20);&lt;br /&gt;
    this.Label2.TabIndex = 3;&lt;br /&gt;
    this.Label2.Text = &amp;quot;Panel\&amp;quot;s DockPadding:&amp;quot;;&lt;br /&gt;
    // &lt;br /&gt;
    // Label1&lt;br /&gt;
    // &lt;br /&gt;
    this.Label1.Location = new System.Drawing.Point(16, 36);&lt;br /&gt;
    this.Label1.Name = &amp;quot;Label1&amp;quot;;&lt;br /&gt;
    this.Label1.Size = new System.Drawing.Size(136, 20);&lt;br /&gt;
    this.Label1.TabIndex = 2;&lt;br /&gt;
    this.Label1.Text = &amp;quot;Form\&amp;quot;s DockPadding:&amp;quot;;&lt;br /&gt;
    // &lt;br /&gt;
    // pnlDock&lt;br /&gt;
    // &lt;br /&gt;
    this.pnlDock.Controls.Add(this.txtDock);&lt;br /&gt;
    this.pnlDock.Dock = System.Windows.Forms.DockStyle.Left;&lt;br /&gt;
    this.pnlDock.Font = new System.Drawing.Font(&amp;quot;Tahoma&amp;quot;, 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));&lt;br /&gt;
    this.pnlDock.Location = new System.Drawing.Point(0, 0);&lt;br /&gt;
    this.pnlDock.Name = &amp;quot;pnlDock&amp;quot;;&lt;br /&gt;
    this.pnlDock.Padding = new System.Windows.Forms.Padding(20);&lt;br /&gt;
    this.pnlDock.Size = new System.Drawing.Size(224, 314);&lt;br /&gt;
    this.pnlDock.TabIndex = 13;&lt;br /&gt;
    // &lt;br /&gt;
    // txtDock&lt;br /&gt;
    // &lt;br /&gt;
    this.txtDock.Dock = System.Windows.Forms.DockStyle.Left;&lt;br /&gt;
    this.txtDock.Font = new System.Drawing.Font(&amp;quot;Tahoma&amp;quot;, 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));&lt;br /&gt;
    this.txtDock.Location = new System.Drawing.Point(20, 20);&lt;br /&gt;
    this.txtDock.Multiline = true;&lt;br /&gt;
    this.txtDock.Name = &amp;quot;txtDock&amp;quot;;&lt;br /&gt;
    this.txtDock.Size = new System.Drawing.Size(108, 274);&lt;br /&gt;
    this.txtDock.TabIndex = 0;&lt;br /&gt;
    this.txtDock.Text = &amp;quot;This is a TextBox.&amp;quot;;&lt;br /&gt;
    // &lt;br /&gt;
    // Form1&lt;br /&gt;
    // &lt;br /&gt;
    this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);&lt;br /&gt;
    this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;&lt;br /&gt;
    this.ClientSize = new System.Drawing.Size(497, 314);&lt;br /&gt;
    this.Controls.Add(this.GroupBox1);&lt;br /&gt;
    this.Controls.Add(this.pnlDock);&lt;br /&gt;
    this.Text = &amp;quot;Docking At Work&amp;quot;;&lt;br /&gt;
    this.GroupBox1.ResumeLayout(false);&lt;br /&gt;
    ((System.ruponentModel.ISupportInitialize)(this.udDockPaddingForm)).EndInit();&lt;br /&gt;
    ((System.ruponentModel.ISupportInitialize)(this.udDockPaddingPanel)).EndInit();&lt;br /&gt;
    this.pnlDock.ResumeLayout(false);&lt;br /&gt;
    this.pnlDock.PerformLayout();&lt;br /&gt;
    this.ResumeLayout(false);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  [STAThread]&lt;br /&gt;
  static void Main()&lt;br /&gt;
  {&lt;br /&gt;
    Application.EnableVisualStyles();&lt;br /&gt;
    Application.Run(new Form1());&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Panel.Paint==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt; &lt;br /&gt;
using System;&lt;br /&gt;
using System.Drawing;&lt;br /&gt;
using System.Windows.Forms;&lt;br /&gt;
   &lt;br /&gt;
class SplitTwoProportional: Form&lt;br /&gt;
{&lt;br /&gt;
     Panel panel2;&lt;br /&gt;
     float fProportion = 0.5f;&lt;br /&gt;
   &lt;br /&gt;
     public static void Main()&lt;br /&gt;
     {&lt;br /&gt;
          Application.Run(new SplitTwoProportional());&lt;br /&gt;
     }&lt;br /&gt;
     public SplitTwoProportional()&lt;br /&gt;
     {&lt;br /&gt;
          Text = &amp;quot;&amp;quot;;&lt;br /&gt;
   &lt;br /&gt;
          Panel panel1     = new Panel();&lt;br /&gt;
          panel1.Parent    = this;&lt;br /&gt;
          panel1.Dock      = DockStyle.Fill;&lt;br /&gt;
          panel1.BackColor = Color.Red;&lt;br /&gt;
          panel1.Resize   += new EventHandler(PanelOnResize);&lt;br /&gt;
          panel1.Paint    += new PaintEventHandler(PanelOnPaint);&lt;br /&gt;
   &lt;br /&gt;
          Splitter split   = new Splitter();&lt;br /&gt;
          split.Parent     = this;&lt;br /&gt;
          split.Dock       = DockStyle.Left;&lt;br /&gt;
          split.SplitterMoving += new SplitterEventHandler(SplitterOnMoving);&lt;br /&gt;
   &lt;br /&gt;
          panel2           = new Panel();&lt;br /&gt;
          panel2.Parent    = this;&lt;br /&gt;
          panel2.Dock      = DockStyle.Left;&lt;br /&gt;
          panel2.BackColor = Color.Lime;&lt;br /&gt;
          panel2.Resize   += new EventHandler(PanelOnResize);&lt;br /&gt;
          panel2.Paint    += new PaintEventHandler(PanelOnPaint);&lt;br /&gt;
   &lt;br /&gt;
          OnResize(EventArgs.Empty);&lt;br /&gt;
     }&lt;br /&gt;
     protected override void OnResize(EventArgs ea)&lt;br /&gt;
     {&lt;br /&gt;
          base.OnResize(ea);&lt;br /&gt;
          panel2.Width = (int) (fProportion * ClientSize.Width);&lt;br /&gt;
     }&lt;br /&gt;
     void SplitterOnMoving(object obj, SplitterEventArgs sea)&lt;br /&gt;
     {&lt;br /&gt;
          fProportion = (float) sea.SplitX / ClientSize.Width;&lt;br /&gt;
     }&lt;br /&gt;
     void PanelOnResize(object obj, EventArgs ea)&lt;br /&gt;
     {&lt;br /&gt;
          ((Panel) obj).Invalidate();&lt;br /&gt;
     }&lt;br /&gt;
     void PanelOnPaint(object obj, PaintEventArgs pea)&lt;br /&gt;
     {&lt;br /&gt;
          Panel    panel = (Panel) obj;&lt;br /&gt;
          Graphics grfx  = pea.Graphics;&lt;br /&gt;
   &lt;br /&gt;
          grfx.DrawEllipse(Pens.Black, 0, 0, &lt;br /&gt;
                           panel.Width - 1, panel.Height - 1);&lt;br /&gt;
     }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Panel.Resize==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt; &lt;br /&gt;
using System;&lt;br /&gt;
using System.Drawing;&lt;br /&gt;
using System.Windows.Forms;&lt;br /&gt;
   &lt;br /&gt;
class SplitThreeFrames: Form&lt;br /&gt;
{&lt;br /&gt;
     public static void Main()&lt;br /&gt;
     {&lt;br /&gt;
          Application.Run(new SplitThreeFrames());&lt;br /&gt;
     }&lt;br /&gt;
     public SplitThreeFrames()&lt;br /&gt;
     {&lt;br /&gt;
          Panel panel      = new Panel();&lt;br /&gt;
          panel.Parent     = this;&lt;br /&gt;
          panel.Dock       = DockStyle.Fill;&lt;br /&gt;
   &lt;br /&gt;
          Splitter split1  = new Splitter();&lt;br /&gt;
          split1.Parent    = this;&lt;br /&gt;
          split1.Dock      = DockStyle.Left;&lt;br /&gt;
   &lt;br /&gt;
          Panel panel1     = new Panel();&lt;br /&gt;
          panel1.Parent    = this;&lt;br /&gt;
          panel1.Dock      = DockStyle.Left;&lt;br /&gt;
          panel1.BackColor = Color.Lime;&lt;br /&gt;
          panel1.Resize   += new EventHandler(PanelOnResize);&lt;br /&gt;
          panel1.Paint    += new PaintEventHandler(PanelOnPaint);&lt;br /&gt;
   &lt;br /&gt;
          Panel panel2     = new Panel();&lt;br /&gt;
          panel2.Parent    = panel;&lt;br /&gt;
          panel2.Dock      = DockStyle.Fill;&lt;br /&gt;
          panel2.BackColor = Color.Blue;&lt;br /&gt;
          panel2.Resize   += new EventHandler(PanelOnResize);&lt;br /&gt;
          panel2.Paint    += new PaintEventHandler(PanelOnPaint);&lt;br /&gt;
   &lt;br /&gt;
          Splitter split2  = new Splitter();&lt;br /&gt;
          split2.Parent    = panel;&lt;br /&gt;
          split2.Dock      = DockStyle.Top;&lt;br /&gt;
   &lt;br /&gt;
          Panel panel3     = new Panel();&lt;br /&gt;
          panel3.Parent    = panel;&lt;br /&gt;
          panel3.Dock      = DockStyle.Top;&lt;br /&gt;
          panel3.BackColor = Color.Tan;&lt;br /&gt;
          panel3.Resize   += new EventHandler(PanelOnResize);&lt;br /&gt;
          panel3.Paint    += new PaintEventHandler(PanelOnPaint);&lt;br /&gt;
   &lt;br /&gt;
          panel1.Width  = ClientSize.Width  / 3;&lt;br /&gt;
          panel3.Height = ClientSize.Height / 3;&lt;br /&gt;
     }&lt;br /&gt;
     void PanelOnResize(object obj, EventArgs ea)&lt;br /&gt;
     {&lt;br /&gt;
          ((Panel) obj).Invalidate();&lt;br /&gt;
     }&lt;br /&gt;
     void PanelOnPaint(object obj, PaintEventArgs pea)&lt;br /&gt;
     {&lt;br /&gt;
          Panel    panel = (Panel) obj;&lt;br /&gt;
          Graphics grfx  = pea.Graphics;&lt;br /&gt;
   &lt;br /&gt;
          grfx.DrawEllipse(Pens.Black, 0, 0, &lt;br /&gt;
                           panel.Width - 1, panel.Height - 1);&lt;br /&gt;
     }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>