I want to add items in listview using threading timer that add items in listview in every 2 sec and this items come from MYsql db.I know that i should use invoke/begaininvoke to do this.But i dont understand how i can use invoke or begain invoke to add items in listview.Here is my code, Code: void PrepareTimers(List<int> _dataValues) { foreach (int dataValue in _dataValues) { ThreadingTimer timer = new ThreadingTimer(new TimerCallback(TimerAction), dataValue, 0, 2000); } } void TimerAction(object flag) { flags_string = flag.ToString(); string sql = "SELECT msisdn,sms FROM sms_data_bankasia where flag = " + flags_string + " LIMIT 1"; MySqlCommand comd = mycon.CreateCommand(); comd.CommandText = sql; MySqlDataReader dtr = comd.ExecuteReader(); try { if (mycon.State == ConnectionState.Open) { if (dtr.Read()) { msisdn_string = dtr["msisdn"].ToString(); sms_string = dtr["sms"].ToString(); } else { flag = 0; msisdn_string = "NO MSISDN FOR " + (flags_string); sms_string = "NO MSISDN FOR " + (flags_string); } } } catch (Exception ex) { MessageBox.Show(ex.Message); } dtr.Close(); string[] listitem ={ msisdn_string, sms_string, flags_string }; ListViewItem li = new ListViewItem(listitem); lstResult.Items.Add(li); } Any one can help me to do this?Any help can be great appritiated.