Sunday, October 24, 2010

C# (Invoke method practical example)



//BUTTON CLICK EVENT...

private void Button1_Click(object sender, EventArgs e)
        {
             //CALLING USER DEFINE METHOD...
            Invoker();
        }


string str[]={"First","Second","Third","Fourth","Fifth"};

//USER DEFINE METHOD
public delegate void Action();
private void PopulateServers()
        {  
        try
        {  
                    //OBJECT OF BACK GROUND WORKER
                    BackgroundWorker worker = new BackgroundWorker();
                    worker.DoWork += (sender, e) => //LEMBDA EXPRESSION
                    {
                           //DECLARATION OF INVOKING
                            if (FirstControlName.InvokeRequired)
                            {  
                                //DELEGATE OBJECT
                                Action action = () =>
                                       {  
                                             //RESULT
                                             foreach (String row in str)
                                             {
                                                    SecondControlName.Items.Add(row);                                ;
                                             }
                                    };
                  
                                SecondControlName.Invoke(action);
                            }
                    };
                worker.RunWorkerAsync();
            }
      
        catch(Exception ex)
        {
            MessageBox.Show(ex);
        }
    }

//[NOTE : "FirstControlName" AND "SecondControlName" CAN BE ANY DROPDOWN OR ANY CONTROL WHICH HAS COLLECTION PROPERTY IN THIS EXAMPLE. IN THIS EXAMPLE THE VALUES ARE ASSIGNING FROM ONE CONTROL TO AN OTHER ON THE BUTTON CLICK".]

No comments:

Post a Comment