在 C# 中将控件放置在面板中

本文关键字:控件 | 更新日期: 2023-09-27 18:28:30

private void newThumbNail(int docType, string fileName)
        {
            thmbNail[thmbNailCnt] = new GroupBox();
            thmbNail[thmbNailCnt].Parent = panel1;            
            thmbNail[thmbNailCnt].Visible = true;            
            thmbNail[thmbNailCnt].Location = new Point(2, 5);
            thmbNail[thmbNailCnt].Size = new Size(222, 50);

            picBox[thmbNailCnt] = new PictureBox();
            picBox[thmbNailCnt].Parent = thmbNail[thmbNailCnt];
            picBox[thmbNailCnt].Visible = true;
            picBox[thmbNailCnt].Location = new Point(6, 13);
            picBox[thmbNailCnt].Size = new Size(31, 31);
            //picBox[thmbNailCnt].Image = new Bitmap("images/excel.png");
            texBox[thmbNailCnt] = new TextBox();
            texBox[thmbNailCnt].Parent = thmbNail[thmbNailCnt];
            texBox[thmbNailCnt].Visible = true;
            texBox[thmbNailCnt].Location = new Point(53, 24);
            texBox[thmbNailCnt].Size = new Size(163, 20);
            texBox[thmbNailCnt].Text = fileName;
            texBox[thmbNailCnt].Enabled = false;
            Controls.Add(thmbNail[thmbNailCnt]);
            Controls.Add(picBox[thmbNailCnt]);
            Controls.Add(texBox[thmbNailCnt]);

        }

这是一个函数,它动态添加一个 groupBox,其中包含一些控件在面板中。不幸的是,它没有出现在面板中。该面板是使用 c# 设计工具预先创建的。它直接放置在15,52的窗户形状的顶部,大小为279,489。请帮忙。

在 C# 中将控件放置在面板中

您似乎正在将这些控件添加到窗体控件集合中。
相反,您应该使用面板控件集合,如下所示:

    panel1.Controls.Add(thmbNail[thmbNailCnt]); 
    panel1.Controls.Add(picBox[thmbNailCnt]); 
    panel1.Controls.Add(texBox[thmbNailCnt]); 

Try Panel.Controls.Add(thmbNail[thmbNailCnt](

还有一个提示,使您的代码更快、更易于阅读:

// Not modified to use Panel.Controls.Add()
GroupBox box = new GroouBox();
thmbNail[thmbNailCnt] = box;
box.Parent = panel1;            
box.Visible = true;            
box.Location = new Point(2, 5);
box.Size = new Size(222, 50);