[英]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.