繁体   English   中英

无法将用户控件动态添加到面板

[英]Unable to add user controls to a panel dynamically

我有以下c#代码用于桌面应用程序。 通过采用数据库函数返回的值,它将控件动态地添加到Panel1

private void loadData()
        {
            string[] names = dops.get_lstMed(textBox2.Text); //fetching values from database
            MediRow[] mr = new MediRow[names.Length]; //User control array
            panel1.Controls.Clear();
            for (int i = 0; i < names.Length; i++)
            {
                mr[i] = new MediRow();
                mr[i].MedName = names[i];
                mr[i].AvailQty = dops.get_Med_qty(names[i]).ToString();
                mr[i].Quantity = "0";
                panel1.Controls.Add(mr[i]);
            }

        }

当我调试它时,数据库函数dops.get_lstMed()返回的值是正确的,甚至循环也按dops.get_lstMed()运行。 但是问题在于,即使数据库有多行,也只在面板中添加了一个控件。 请告诉我代码有什么问题吗?

@ChrisSinclair可能是正确的:尝试设置mr[i].Dock = DockStyle.Top; 在其中填充控件的属性。

也许这段代码有效,但是似乎无效,因为您要在同一位置创建它们,并且必须更改要添加的控件的Location属性。

至少乍看之下是我能看到的解决方案。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM