2012-03-18 4 views
0

У меня есть раскрывающийся список, и у меня есть вторичный поток, начиная с которого я должен получить выбранное значение этого выпадающего списка. Он всегда возвращает пустую или пустую строку. Есть ли способ получить его значение во вторичной строке?Получение списка выпадающего списка во вторичной теме

+0

отправить/дают значение, прежде чем начать нить. – Aristos

ответ

1

Элементы пользовательского интерфейса являются собственностью пользовательского интерфейса. Никогда не пытайтесь получить доступ или даже модифицировать их, поскольку это не безопасная операция протектора. Передайте значения выпадающего потока при его создании и используйте скопированные значения во втором потоке.

Пример:

static void Main(string[] args) 
{ 
    System.Threading.Thread myThread = new System.Threading.Thread(asyncCode); 
    myThread.Start(yourParameterObject); 
} 

static void asyncCode(object parameters) 
{ 
    // Use the parameters passed 
} 
+0

Как передать значения в новый поток? Я использую Thread backgroundThread = new Thread (MyMethod), который получает имя метода как параметр, но сам метод должен быть без параметров. Спасибо. –

+0

Благодарим вас за это дополнение. Однако из того, что я читал, позволяет отправлять только один параметр (если, возможно, они не отправляются как массив или список. Возможно ли это?). Я нашел другое выражение с использованием выражения лямбда: Thread t = new Thread (() => asyncCode (param1, param2)); static void asyncCode (int param1, string param2) {// Использовать переданные параметры} –

+1

@DovMiller: параметр, который вы можете передать, имеет объект типа, поэтому вы можете передать любой тип, который происходит от объекта. Вы можете создать класс, содержащий несколько параметров в качестве свойств. – CodeZombie

Смежные вопросы