Andreas
Andreas

Reputation: 1279

Trying to create a custom panel

I am trying to create a custom panel which will contains many controls. It is the first time I create a custom control like this. This example contains a panel with a button inside that panel.

I am not sure why the panel is not added to the Form1 when I click the button.
Am i missing something in my code?

        private void button2_Click(object sender, EventArgs e)
        {
            streamingPanel sp = new streamingPanel();
            sp.Size = new Size(319, 240);
            Point point = new Point(50, 50);
            sp.Location = point;
            this.Controls.Add(sp);
        }
        public class streamingPanel : Panel
        {
            public System.Windows.Forms.Panel panel1;
            public System.Windows.Forms.Button button1;

            public streamingPanel()
            {
                InitializeComponent();
            }

            private void InitializeComponent()
            {
                this.panel1 = new System.Windows.Forms.Panel();
                this.button1 = new System.Windows.Forms.Button();
                this.panel1.SuspendLayout();
                // 
                // panel1
                // 
                this.panel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
                this.panel1.Controls.Add(this.button1);
                this.panel1.Location = new System.Drawing.Point(483, 91);
                this.panel1.Name = "panel1";
                this.panel1.Size = new System.Drawing.Size(319, 240);
                this.panel1.TabIndex = 0;
                // 
                // button1
                // 
                this.button1.Location = new System.Drawing.Point(100, 72);
                this.button1.Name = "button1";
                this.button1.Size = new System.Drawing.Size(75, 23);
                this.button1.TabIndex = 0;
                this.button1.Text = "button1";
                this.button1.UseVisualStyleBackColor = true;
            }
        }

Upvotes: 0

Views: 379

Answers (1)

Dialecticus
Dialecticus

Reputation: 16761

Observe what Visual Studio editor does when you add a control to a form. The code is in method InitializeComponent called from form's constructor. You forgot for instance to set Location and Size of the new control.

Upvotes: 1

Related Questions