在Windows窗体中添加来自其他线程的控件

时间:2015-03-18 10:22:33

标签: c# winforms

我的问题是如何将动态按钮和文本的动态面板添加到其他窗口窗体中。我尝试了以下代码,但它没有显示动态面板。

this.BeginInvoke(new MethodInvoker(delegate 
            {
                this.showMessageBox.Text = "hello";

                //----------------------------------------------------------
                Panel dynamicPanel = new Panel();
                dynamicPanel.Location = new System.Drawing.Point(12, 12);
                dynamicPanel.Name = "Panel2";
                dynamicPanel.Size = new System.Drawing.Size(529, 353);
                dynamicPanel.BackColor = Color.AliceBlue;

                Label kifg = new Label();
                kifg.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
                kifg.Location = new System.Drawing.Point(150, 100);
                kifg.Text = "TLD NUMBER - " + "kifg";
                kifg.Size = new Size(209, 50);

                Button exitButton = new Button();
                exitButton.Location = new System.Drawing.Point(150, 300);
                exitButton.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
                exitButton.BackColor = Color.Coral;
                exitButton.Size = new System.Drawing.Size(80, 45);
                exitButton.TabIndex = 6;
                exitButton.Text = "Exit";
                exitButton.Click += exitButton_Click;

                dynamicPanel.Controls.Add(tldNumber);
                dynamicPanel.Controls.Add(exitButton);

                this.Controls.Add(dynamicPanel);
            }));

2 个答案:

答案 0 :(得分:1)

this.Controls.Add(dynamicPanel);
dynamicPanel.Controls.Add(kifg);
dynamicPanel.Controls.Add(exitButton);

答案 1 :(得分:0)

我犯了一个错误。由于没有显示新的面板,我没有清除前一个面板。

相关问题