Вы все еще можете использовать Invoke
и считывать его в локальную переменную.
Примерно так:
string text;
this.Invoke(new MethodInvoker(delegate() { text = combobox.Text; }));
Поскольку Invoke
является синхронным, у вас есть гарантия, что text
переменная будет содержать значение текста поля со списком после его возврата.