private void UpdateGUISenders(SMS message) { if (InvokeRequired) { //recursive call to switch threads if InvokeRequired Invoke(new SMSProvider.SMSReceivedDelegate(UpdateGUISenders), message); return; } else { if (!cboSMSSenderSelector.Items.Contains(message.Sender)) { cboSMSSenderSelector.Items.Add(message.Sender); } } }