Hi,
Description of the problem:
- Create a 'custom control'. Set it's property AutoScroll to 'true'. Change it's bg-color to green.
- Create second 'custom control'. Change it's bg-color to red.
- On main form place first custom control
- In code create 20 instances of second control
- Add a button and in the button:
- In code set their position in loop like c.Location = new Point(0, y);
- y += c.Height;
- Run App.
- Press the button
- Scroll the container
- Press the button again and can someone please explain me WHY the 0 is not the beggining of the container form?! The controls are shifted...
Before you answer:
- Yes the things need to be this way.
- Code sample below:
public partial class Form1 : Form { List list;
public Form1()
{
InitializeComponent();
list = new List<UserControl2>();
for (int i = 0; i < 20; i++)
{
UserControl2 c = new UserControl2();
list.Add(c);
}
}
private void Form1_Load(object sender, EventArgs e)
{
foreach (UserControl2 c in list)
userControl11.Controls.Add(c);
}
private void button1_Click(object sender, EventArgs e)
{
int y = 0;
foreach (UserControl2 c in list)
{
c.Location = new Point(0, y);
y += c.Height;
}
}
}