I have the following code:
for (int i = Controls.Count-1; i > 0; i--)
{
if (Controls[i].Name.Length > 7)
{
if (Controls[i].Name.Substring(0, 7) == "NewGrid")
{
Controls.Remove(Controls[i]);
this.Refresh();
}
}
In another part of the code datagrids are place on the form based on the selection in a listbox. The grids are created and placed on the form in the same place right on top of each other. Then based on the selection in the listbox the gird associated with that selection is brought to the top for viewing and interaction. I have the code above when a reset button is pressed. It clears all the datagrid from the form. When I single step through the code they are indeed all removed, however which ever grid is on top at the time does not disappear from the form. I have tried moving the "this.Refresh()" line of code to after the for loop with no change. I just don't understand why all the grids would be removed from the form except the one on top.