I m ajouter un contrôle personnalisé à mon FlowLayoutPanel, son une sorte de données forex, rafraîchir chaque seconde,Propriétés des contrôles personnalisés - C#, les formulaires
donc à chaque tick timer, im ajout d'un contrôle, en changeant le texte du bouton de commande, puis l'ajouter à FlowLayout panneau,
im le faire à chaque tick timer 100ms,
il prend trop de CPU,
voici mon contrôle personnalisé.
public partial class UserControl1 : UserControl
{
public void displaydata(string name, string back3price, string back3, string back2price, string back2, string back1price, string back1, string lay3price, string lay3 , string lay2price, string lay2, string lay1price, string lay1)
{
lblrunnerName.Text = name.ToString();
btnback3.Text = back3.ToString() + "\n" + back3price.ToString();
btnback2.Text = back2.ToString() + "\n" + back2price.ToString();
btnback1.Text = back1.ToString() + "\n" + back1price.ToString();
btnlay1.Text = lay1.ToString() + "\n" + lay1price.ToString();
btnlay2.Text = lay2.ToString() + "\n" + lay2price.ToString();
btnlay3.Text = lay3.ToString() + "\n" + lay3price.ToString();
}
et voici comment ajouter un contrôle;
private void timer1_Tick(object sender, EventArgs e)
{
localhost.marketData[] md;
md = ser.getM1();
flowLayoutPanel1.Controls.Clear();
foreach (localhost.marketData item in md)
{
UserControl1 ur = new UserControl1();
ur.Name = item.runnerName + item.runnerID;
ur.displaydata(item.runnerName, item.back3price, item.back3, item.back2price, item.back2, item.back1price, item.back1, item.lay3price, item.lay3, item.lay2price, item.lay2, item.lay1price, item.lay1);
flowLayoutPanel1.SuspendLayout();
flowLayoutPanel1.Controls.Add(ur);
flowLayoutPanel1.ResumeLayout();
}
}
maintenant son happing sur 10 fois sur chaque envoyer, en prenant 60% de mon CPU Core2Duo. je veux rafraîchir rapidement, j'ai besoin des conseils d'optimisation
est-il une autre façon, je peux juste ajouter des contrôles première fois, puis modifier le texte de la coutume des boutons contrôle sur l'exécution sur chaque tick de rafraîchissement ou d'une minuterie
Im utilisant C# .Net
Veuillez ne pas copier/coller le code sur SO sans effectuer de formater. C'était horrible. S'il vous plaît vérifier l'orthographe avant de poster sur SO.Merci – abatishchev