Бросьте System.Windows.Forms.Timer на вашей форме и установите интервал примерно до 1 секунды (или меньше в зависимости требуемая точность). Объявите класс ExpiringItem для хранения времени добавления записи. В вашем событии timer_click проверьте устаревшие элементы и удалите их.
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)
{
for (int i = listBox1.Items.Count -1; i > -1; i--)
{
var exp = (ExpiringItem)listBox1.Items[i];
var timeVisible = DateTime.Now - exp.Added;
if (timeVisible.TotalSeconds > 30)
listBox1.Items.RemoveAt(i);
}
}
Чтобы добавить элементы в ListBox сделать
lstTagsHold.Items.Add(new ExpiringItem(txtTagID.Text));
Работа 100% много спасибо –
К сожалению, последний вопрос? Если значение VAR exp равно null, как мне это обработать? –