Csharp/C Sharp/GUI Windows Form/Panel — различия между версиями
Admin (обсуждение | вклад) м (1 версия) |
Admin (обсуждение | вклад) м (1 версия) |
(нет различий)
|
Текущая версия на 14:32, 26 мая 2010
Содержание
Panel and form dock pad
<source lang="csharp"> 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 {
private System.Windows.Forms.GroupBox GroupBox1; private System.Windows.Forms.Button cmdUpdate; private System.Windows.Forms.NumericUpDown udDockPaddingForm; private System.Windows.Forms.NumericUpDown udDockPaddingPanel; private System.Windows.Forms.ruboBox lstDockPanel; private System.Windows.Forms.Label Label3; private System.Windows.Forms.Label Label4; private System.Windows.Forms.ruboBox lstDockTextBox; private System.Windows.Forms.Label Label2; private System.Windows.Forms.Label Label1; private System.Windows.Forms.Panel pnlDock; private System.Windows.Forms.TextBox txtDock; public Form1() { InitializeComponent(); lstDockPanel.Items.AddRange(Enum.GetNames(Dock.GetType())); lstDockTextBox.Items.AddRange(Enum.GetNames(Dock.GetType())); lstDockPanel.Text = Enum.GetName(Dock.GetType(), pnlDock.Dock); lstDockTextBox.Text = Enum.GetName(Dock.GetType(), lstDockTextBox.Dock); } private void cmdUpdate_Click(object sender, EventArgs e) { this.DockPadding.All = (int)udDockPaddingForm.Value; pnlDock.DockPadding.All = (int)udDockPaddingPanel.Value; TypeConverter converter; converter = TypeDescriptor.GetConverter(Dock.GetType()); pnlDock.Dock = (DockStyle)converter.ConvertFromString(lstDockPanel.Text); txtDock.Dock = (DockStyle)converter.ConvertFromString(lstDockTextBox.Text); } private void InitializeComponent() { this.GroupBox1 = new System.Windows.Forms.GroupBox(); this.cmdUpdate = new System.Windows.Forms.Button(); this.udDockPaddingForm = new System.Windows.Forms.NumericUpDown(); this.udDockPaddingPanel = new System.Windows.Forms.NumericUpDown(); this.lstDockPanel = new System.Windows.Forms.ruboBox(); this.Label3 = new System.Windows.Forms.Label(); this.Label4 = new System.Windows.Forms.Label(); this.lstDockTextBox = new System.Windows.Forms.ruboBox(); this.Label2 = new System.Windows.Forms.Label(); this.Label1 = new System.Windows.Forms.Label(); this.pnlDock = new System.Windows.Forms.Panel(); this.txtDock = new System.Windows.Forms.TextBox(); this.GroupBox1.SuspendLayout(); ((System.ruponentModel.ISupportInitialize)(this.udDockPaddingForm)).BeginInit(); ((System.ruponentModel.ISupportInitialize)(this.udDockPaddingPanel)).BeginInit(); this.pnlDock.SuspendLayout(); this.SuspendLayout(); // // GroupBox1 // this.GroupBox1.Controls.Add(this.cmdUpdate); this.GroupBox1.Controls.Add(this.udDockPaddingForm); this.GroupBox1.Controls.Add(this.udDockPaddingPanel); this.GroupBox1.Controls.Add(this.lstDockPanel); this.GroupBox1.Controls.Add(this.Label3); this.GroupBox1.Controls.Add(this.Label4); this.GroupBox1.Controls.Add(this.lstDockTextBox); this.GroupBox1.Controls.Add(this.Label2); this.GroupBox1.Controls.Add(this.Label1); this.GroupBox1.Location = new System.Drawing.Point(202, 20); this.GroupBox1.Name = "GroupBox1"; this.GroupBox1.Size = new System.Drawing.Size(284, 224); this.GroupBox1.TabIndex = 14; this.GroupBox1.TabStop = false; this.GroupBox1.Text = "Configure"; // // cmdUpdate // this.cmdUpdate.Location = new System.Drawing.Point(160, 180); this.cmdUpdate.Name = "cmdUpdate"; this.cmdUpdate.Size = new System.Drawing.Size(84, 24); this.cmdUpdate.TabIndex = 10; this.cmdUpdate.Text = "Update"; this.cmdUpdate.Click += new System.EventHandler(this.cmdUpdate_Click); // // udDockPaddingForm // this.udDockPaddingForm.Increment = new decimal(new int[] { 5, 0, 0, 0}); this.udDockPaddingForm.Location = new System.Drawing.Point(160, 32); this.udDockPaddingForm.Name = "udDockPaddingForm"; this.udDockPaddingForm.Size = new System.Drawing.Size(52, 21); this.udDockPaddingForm.TabIndex = 4; // // udDockPaddingPanel // this.udDockPaddingPanel.Increment = new decimal(new int[] { 5, 0, 0, 0}); this.udDockPaddingPanel.Location = new System.Drawing.Point(160, 56); this.udDockPaddingPanel.Name = "udDockPaddingPanel"; this.udDockPaddingPanel.Size = new System.Drawing.Size(52, 21); this.udDockPaddingPanel.TabIndex = 5; this.udDockPaddingPanel.Value = new decimal(new int[] { 20, 0, 0, 0}); // // lstDockPanel // this.lstDockPanel.DropDownStyle = System.Windows.Forms.ruboBoxStyle.DropDownList; this.lstDockPanel.FormattingEnabled = true; this.lstDockPanel.Location = new System.Drawing.Point(156, 100); this.lstDockPanel.Name = "lstDockPanel"; this.lstDockPanel.Size = new System.Drawing.Size(92, 21); this.lstDockPanel.TabIndex = 8; // // Label3 // this.Label3.Location = new System.Drawing.Point(16, 104); this.Label3.Name = "Label3"; this.Label3.Size = new System.Drawing.Size(136, 20); this.Label3.TabIndex = 6; this.Label3.Text = "Dock Panel To:"; // // Label4 // this.Label4.Location = new System.Drawing.Point(16, 128); this.Label4.Name = "Label4"; this.Label4.Size = new System.Drawing.Size(136, 20); this.Label4.TabIndex = 7; this.Label4.Text = "Dock TextBox To:"; // // lstDockTextBox // this.lstDockTextBox.DropDownStyle = System.Windows.Forms.ruboBoxStyle.DropDownList; this.lstDockTextBox.FormattingEnabled = true; this.lstDockTextBox.Location = new System.Drawing.Point(156, 124); this.lstDockTextBox.Name = "lstDockTextBox"; this.lstDockTextBox.Size = new System.Drawing.Size(92, 21); this.lstDockTextBox.TabIndex = 9; // // Label2 // this.Label2.Location = new System.Drawing.Point(16, 60); this.Label2.Name = "Label2"; this.Label2.Size = new System.Drawing.Size(136, 20); this.Label2.TabIndex = 3; this.Label2.Text = "Panel\"s DockPadding:"; // // Label1 // this.Label1.Location = new System.Drawing.Point(16, 36); this.Label1.Name = "Label1"; this.Label1.Size = new System.Drawing.Size(136, 20); this.Label1.TabIndex = 2; this.Label1.Text = "Form\"s DockPadding:"; // // pnlDock // this.pnlDock.Controls.Add(this.txtDock); this.pnlDock.Dock = System.Windows.Forms.DockStyle.Left; this.pnlDock.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.pnlDock.Location = new System.Drawing.Point(0, 0); this.pnlDock.Name = "pnlDock"; this.pnlDock.Padding = new System.Windows.Forms.Padding(20); this.pnlDock.Size = new System.Drawing.Size(224, 314); this.pnlDock.TabIndex = 13; // // txtDock // this.txtDock.Dock = System.Windows.Forms.DockStyle.Left; this.txtDock.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.txtDock.Location = new System.Drawing.Point(20, 20); this.txtDock.Multiline = true; this.txtDock.Name = "txtDock"; this.txtDock.Size = new System.Drawing.Size(108, 274); this.txtDock.TabIndex = 0; this.txtDock.Text = "This is a TextBox."; // // Form1 // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(497, 314); this.Controls.Add(this.GroupBox1); this.Controls.Add(this.pnlDock); this.Text = "Docking At Work"; this.GroupBox1.ResumeLayout(false); ((System.ruponentModel.ISupportInitialize)(this.udDockPaddingForm)).EndInit(); ((System.ruponentModel.ISupportInitialize)(this.udDockPaddingPanel)).EndInit(); this.pnlDock.ResumeLayout(false); this.pnlDock.PerformLayout(); this.ResumeLayout(false); }
[STAThread] static void Main() { Application.EnableVisualStyles(); Application.Run(new Form1()); }
}
</source>
Scrolling Picture
<source lang="csharp"> 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 {
public Form1() { this.panel1 = new System.Windows.Forms.Panel(); this.SuspendLayout(); this.panel1.AutoScroll = true; this.panel1.BackgroundImage = new Bitmap("yourfile.bmp"); this.panel1.Location = new System.Drawing.Point(13, 13); this.panel1.Size = new System.Drawing.Size(267, 243); this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(292, 268); this.Controls.Add(this.panel1); this.Load += new System.EventHandler(this.Form1_Load); this.ResumeLayout(false); this.panel1.AutoScrollMinSize = this.panel1.BackgroundImage.Size; } private void Form1_Load(object sender, EventArgs e) { int midX = this.panel1.AutoScrollMinSize.Width / 2; int midY = this.panel1.AutoScrollMinSize.Height / 2; int halfSizeX = this.panel1.Size.Width / 2; int halfSizeY = this.panel1.Size.Height / 2; int startPosX = midX - halfSizeX; if (startPosX < 0) startPosX = 0; int startPosY = midY - halfSizeY; if (startPosY < 0) startPosY = 0; this.panel1.AutoScrollPosition = new Point(startPosX, startPosY); } private System.Windows.Forms.Panel panel1; [STAThread] static void Main() { Application.EnableVisualStyles(); Application.Run(new Form1()); }
}
</source>
Split Container(Panel): Collapsed
<source lang="csharp"> 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 {
private System.Windows.Forms.SplitContainer splitContainer1; private System.Windows.Forms.SplitContainer splitContainer2; private System.Windows.Forms.WebBrowser webBrowser1; private System.Windows.Forms.TextBox TextBox1; private System.Windows.Forms.Panel pnlFileList; private System.Windows.Forms.Button cmdHide; private System.Windows.Forms.ListView ListView1; private System.Windows.Forms.ColumnHeader ColumnHeader1; private System.Windows.Forms.Panel pnlShow; private System.Windows.Forms.Button cmdShow; public Form1() { InitializeComponent(); ListView1.Items.Add("A"); ListView1.Items.Add("B"); ListView1.Items.Add("C"); } private void cmdHide_Click(object sender, EventArgs e) { splitContainer1.Panel1Collapsed = true; pnlShow.Visible = true; } private void cmdShow_Click(object sender, EventArgs e) { splitContainer1.Panel1Collapsed = false; pnlShow.Visible = false; } private void InitializeComponent() { this.splitContainer1 = new System.Windows.Forms.SplitContainer(); this.pnlFileList = new System.Windows.Forms.Panel(); this.cmdHide = new System.Windows.Forms.Button(); this.ListView1 = new System.Windows.Forms.ListView(); this.ColumnHeader1 = new System.Windows.Forms.ColumnHeader(); this.splitContainer2 = new System.Windows.Forms.SplitContainer(); this.webBrowser1 = new System.Windows.Forms.WebBrowser(); this.TextBox1 = new System.Windows.Forms.TextBox(); this.pnlShow = new System.Windows.Forms.Panel(); this.cmdShow = new System.Windows.Forms.Button(); this.splitContainer1.Panel1.SuspendLayout(); this.splitContainer1.Panel2.SuspendLayout(); this.splitContainer1.SuspendLayout(); this.pnlFileList.SuspendLayout(); this.splitContainer2.Panel1.SuspendLayout(); this.splitContainer2.Panel2.SuspendLayout(); this.splitContainer2.SuspendLayout(); this.pnlShow.SuspendLayout(); this.SuspendLayout(); // // splitContainer1 // this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill; this.splitContainer1.Location = new System.Drawing.Point(29, 10); this.splitContainer1.Name = "splitContainer1"; // // splitContainer1.Panel1 // this.splitContainer1.Panel1.Controls.Add(this.pnlFileList); this.splitContainer1.Panel1MinSize = 50; // // splitContainer1.Panel2 // this.splitContainer1.Panel2.Controls.Add(this.splitContainer2); this.splitContainer1.Size = new System.Drawing.Size(477, 366); this.splitContainer1.SplitterDistance = 155; this.splitContainer1.TabIndex = 0; this.splitContainer1.Text = "splitContainer1"; // // pnlFileList // this.pnlFileList.Controls.Add(this.cmdHide); this.pnlFileList.Controls.Add(this.ListView1); this.pnlFileList.Dock = System.Windows.Forms.DockStyle.Fill; this.pnlFileList.Location = new System.Drawing.Point(0, 0); this.pnlFileList.Name = "pnlFileList"; this.pnlFileList.Padding = new System.Windows.Forms.Padding(0, 0, 1, 0); this.pnlFileList.Size = new System.Drawing.Size(155, 366); this.pnlFileList.TabIndex = 21; // // cmdHide // this.cmdHide.Dock = System.Windows.Forms.DockStyle.Bottom; this.cmdHide.FlatStyle = System.Windows.Forms.FlatStyle.System; this.cmdHide.Location = new System.Drawing.Point(0, 346); this.cmdHide.Name = "cmdHide"; this.cmdHide.Size = new System.Drawing.Size(154, 20); this.cmdHide.TabIndex = 23; this.cmdHide.Text = "<< Hide"; this.cmdHide.Click += new System.EventHandler(this.cmdHide_Click); // // ListView1 // this.ListView1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.ListView1.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { this.ColumnHeader1}); this.ListView1.Location = new System.Drawing.Point(0, 3); this.ListView1.Name = "ListView1"; this.ListView1.Size = new System.Drawing.Size(152, 337); this.ListView1.TabIndex = 22; this.ListView1.UseCompatibleStateImageBehavior = false; this.ListView1.View = System.Windows.Forms.View.Details; // // ColumnHeader1 // this.ColumnHeader1.Name = "ColumnHeader1"; this.ColumnHeader1.Text = "File"; this.ColumnHeader1.Width = 99; // // splitContainer2 // this.splitContainer2.Dock = System.Windows.Forms.DockStyle.Fill; this.splitContainer2.Location = new System.Drawing.Point(0, 0); this.splitContainer2.Name = "splitContainer2"; this.splitContainer2.Orientation = System.Windows.Forms.Orientation.Horizontal; // // splitContainer2.Panel1 // this.splitContainer2.Panel1.Controls.Add(this.webBrowser1); // // splitContainer2.Panel2 // this.splitContainer2.Panel2.Controls.Add(this.TextBox1); this.splitContainer2.Size = new System.Drawing.Size(318, 366); this.splitContainer2.SplitterDistance = 173; this.splitContainer2.TabIndex = 0; this.splitContainer2.Text = "splitContainer2"; // // webBrowser1 // this.webBrowser1.Dock = System.Windows.Forms.DockStyle.Fill; this.webBrowser1.Location = new System.Drawing.Point(0, 0); this.webBrowser1.Name = "webBrowser1"; this.webBrowser1.Size = new System.Drawing.Size(318, 173); this.webBrowser1.TabIndex = 0; // // TextBox1 // this.TextBox1.Dock = System.Windows.Forms.DockStyle.Fill; this.TextBox1.Location = new System.Drawing.Point(0, 0); this.TextBox1.Multiline = true; this.TextBox1.Name = "TextBox1"; this.TextBox1.ReadOnly = true; this.TextBox1.ScrollBars = System.Windows.Forms.ScrollBars.Vertical; this.TextBox1.Size = new System.Drawing.Size(318, 189); this.TextBox1.TabIndex = 1; // // pnlShow // this.pnlShow.Controls.Add(this.cmdShow); this.pnlShow.Dock = System.Windows.Forms.DockStyle.Left; this.pnlShow.Location = new System.Drawing.Point(10, 10); this.pnlShow.Name = "pnlShow"; this.pnlShow.Padding = new System.Windows.Forms.Padding(0, 0, 3, 0); this.pnlShow.Size = new System.Drawing.Size(19, 366); this.pnlShow.TabIndex = 23; this.pnlShow.Visible = false; // // cmdShow // this.cmdShow.Dock = System.Windows.Forms.DockStyle.Fill; this.cmdShow.FlatStyle = System.Windows.Forms.FlatStyle.System; this.cmdShow.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.cmdShow.Location = new System.Drawing.Point(0, 0); this.cmdShow.Name = "cmdShow"; this.cmdShow.Size = new System.Drawing.Size(16, 366); this.cmdShow.TabIndex = 21; this.cmdShow.Text = ">"; this.cmdShow.Click += new System.EventHandler(this.cmdShow_Click); // // Form1 // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(516, 386); this.Controls.Add(this.splitContainer1); this.Controls.Add(this.pnlShow); this.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.Name = "Form1"; this.Padding = new System.Windows.Forms.Padding(10); this.Text = "Split Window"; this.splitContainer1.Panel1.ResumeLayout(false); this.splitContainer1.Panel2.ResumeLayout(false); this.splitContainer1.ResumeLayout(false); this.pnlFileList.ResumeLayout(false); this.splitContainer2.Panel1.ResumeLayout(false); this.splitContainer2.Panel2.ResumeLayout(false); this.splitContainer2.Panel2.PerformLayout(); this.splitContainer2.ResumeLayout(false); this.pnlShow.ResumeLayout(false); this.ResumeLayout(false); } [STAThread] static void Main() { Application.EnableVisualStyles(); Application.Run(new Form1()); }
}
</source>
Subclass Panel
<source lang="csharp"> using System; using System.Collections.Generic; using System.ruponentModel; using System.Drawing; using System.Data; using System.Text; using System.Windows.Forms; public class ScrollingText : System.Windows.Forms.Panel {
Font textFont = new Font("Times New Roman", 24); public ScrollingText() { InitializeComponent(); } private void ScrollingText_Paint(object sender, PaintEventArgs e) { Graphics g = e.Graphics; g.TranslateTransform(this.AutoScrollPosition.X, this.AutoScrollPosition.Y); g.DrawString("Hello, World", textFont, Brushes.Black, 40, 40); g.DrawString("Hello, World", textFont, Brushes.Red, 40, 240); g.DrawString("Hello, World", textFont, Brushes.Blue, 350, 40); g.DrawString("Hello, World", textFont, Brushes.Green, 350, 240); } private void InitializeComponent() { this.SuspendLayout(); this.AutoScroll = true; this.AutoScrollMinSize = new System.Drawing.Size(600, 400); this.BackColor = System.Drawing.SystemColors.Window; this.Paint += new System.Windows.Forms.PaintEventHandler(this.ScrollingText_Paint); this.ResumeLayout(false); }
} public class Form1 : Form {
public Form1() { InitializeComponent(); } private void InitializeComponent() { this.scrollingText1 = new ScrollingText(); this.SuspendLayout(); this.scrollingText1.AutoScroll = true; this.scrollingText1.AutoScrollMinSize = new System.Drawing.Size(600, 400); this.scrollingText1.BackColor = System.Drawing.SystemColors.Window; this.scrollingText1.Location = new System.Drawing.Point(13, 13); this.scrollingText1.Size = new System.Drawing.Size(267, 243); this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(292, 268); this.Controls.Add(this.scrollingText1); this.ResumeLayout(false); } private ScrollingText scrollingText1; [STAThread] static void Main() { Application.EnableVisualStyles(); Application.Run(new Form1()); }
}
</source>