Sunday, July 19, 2015

C# Windows Formsda controllarni asynchrone usulda qo`shish

Odatsa asynchrone usulda controllarni formada joylashtirganda xatolik yuz beradi, ammo bunday qilmasa dastur sekin ishlashi tabiiy(agar katta dastur bo`lsa)

Buning yo`li oson:

Extention yozib olamiz ,

public static class ControlExt
    {
public static void Asynch(this TControl control, Action action)
            where TControl : Control
        {
            if (control.InvokeRequired)
                control.Invoke(action, control);
            else
                action(control);
        }
}

Extentionimiz tayyor, endi istagan yerda asynchrone usulda qo`shaveramiz,

   content.Asynch(delegate (Panel panel)
            {
                panel.Add(new Malumotnoma
                {
                    Name = "malumotnoma",
                    Dock = DockStyle.Fill,
                    EmployeeCode = Code
                }, "Malumotnoma");
            }); 

No comments:

Post a Comment