c# - Add item to listbox and then remove after 30 seconds -


i trying add tag id (rfid) listbox , remove after 30 seconds. best way this?

txttagid.text = s1.replace(" ", "").tolower(); if (lsttagshold.items.contains(txttagid.text) == false) {    lsttagshold.items.add(txttagid.text); } 

drop system.windows.forms.timer on form , set interval around 1 second (or less depending on accuracy required). declare expiringitem class store time entry added. in timer_click event check expired items , remove.

class expiringitem {     private string text;     public expiringitem(string text)     {         this.text = text;         this.added = datetime.now;     }     public datetime added { get; private set; }     public override string tostring()     {         return text;     } }  private void timer1_tick(object sender, eventargs e) {     (int = listbox1.items.count -1; > -1; i--)     {         var exp = (expiringitem)listbox1.items[i];         var timevisible = datetime.now - exp.added;         if (timevisible.totalseconds > 30)             listbox1.items.removeat(i);      } } 

to add items listbox do

lsttagshold.items.add(new expiringitem(txttagid.text)); 

Comments