我正在做一些项目......当我添加一个用户时,会有一个关于爱好的信息,它具有支持的优势 - 向同一个人添加更多爱好。
我正在考虑将我的信息分成几个用户控件,并在面板内动态定位这些用户控件。
当按下 -add more- 链接时,它会构建一个新控件(标签、文本框...)并调整包含它们的用户控件的大小。
它可以工作,但问题是当我按下 -add more- 时,包含它的用户控件会很好地调整大小。但是面板没有再次构建,因此用户控件无需重新排列即可高于其他用户控件。
这是添加更多的用户控制的简单代码:
public partial class UserControl2 : UserControl
{
public UserControl2()
{
InitializeComponent();
}
private void UserControl2_Load(object sender, EventArgs e)
{
this.Size = new Size(this.Size.Width , sss.Size.Height * 3);
}
private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
this.Size = new Size(this.Size.Width, sss.Size.Height * 6);
}
}
面板代码是在按下 button1 时定位:
private void button1_Click(object sender, EventArgs e)
{
UserControl1 x1 = new UserControl1();
UserControl2 x2 = new UserControl2();
UserControl3 x3 = new UserControl3();
x1.Location = new Point(panel1.AutoScrollPosition.X , panel1.AutoScrollPosition.Y);
x2.Location = new Point(panel1.AutoScrollPosition.X , panel1.AutoScrollPosition.Y + x1.Size.Height);
x3.Location = new Point(panel1.AutoScrollPosition.X, panel1.AutoScrollPosition.Y + x1.Size.Height + x2.Size.Height);
panel1.Controls.Add(x1);
panel1.Controls.Add(x2);
panel1.Controls.Add(x3);
}