J'essaie de créer une liste de contrôles. Pour cela, j'ai utilisé un panneau de disposition de flux et un élément personnalisé. Après avoir lu un fichier XML, je remplis le panneau de disposition de flux avec mes éléments. Pour un petit nombre d'éléments, tout semble correct, mais pour un nombre comme 371 d'éléments dans le panneau de disposition de flux quelque chose se trompe. Au bas du panneau de disposition de flux, 95 éléments sont manquants et les coutures doivent se chevaucher. L'espace situé pour ces articles, je pense, est encore créé. Je joins un écran avec l'effet produit. Les contrôles sont créés dans un tableau, puis j'itéère ce tableau pour ajouter les contrôles au panneau de disposition de flux.Problèmes de panneau de configuration de flux
http://img510.imageshack.us/img510/3201/screen2011916213527199.jpg
Merci.
LE:
public delegate void AddHistoryItemDelegate(Control itm);
public void AddHistoryItem(Control itm)
{
if (InvokeRequired)
{
Invoke(new AddHistoryItemDelegate(AddHistoryItem), new object[] { itm });
}
else
{
flowLayoutPanel1.Controls.Add(itm);
}
}
foreach (Control c in histroryItems)
{
controls++;
backgroundWorkerLoadHistory.ReportProgress(controls);
//flowLayoutPanel1.Controls.Add(c);
AddHistoryItem(c);
}
Le délégué est là parce que tout cela se déroule dans un thread séparé. histroryItems est une liste de contrôles. LE: Si ça compte, j'ai remarqué que si je retire un élément de la liste, après le chargement de la liste, il est arrangé. Essayer un petit hack pour voir si ajouter et supprimer un contrôle à la fin du thread, n'a aucun effet.
C# n'a pas FlowPanel. Ou tout Conbtrols. –
concerne FlowLayoutPanel dans Winforms. Désolé pour les balises manquantes. – andySF