.NET - [решено] Синхронизация потоков (C#)
-
LilLoco
.NET - [решено] Синхронизация потоков (C#)
Здравствуйте! Возник такой вот вопрос! Есть форма, есть поток! Как в поток передать данные из одного из контролов на форме?Помогите пожалуйста!
-
Delirium
Re: .NET - [решено] Синхронизация потоков (C#)
Что значит "передать данные в поток"? Что конкретно необходимо сделать? В чем загвоздка?
-
LilLoco
Re: .NET - [решено] Синхронизация потоков (C#)
Ну например, есть на форме некий текстбокс, в нем данные, эти данные нужно передать в поток, чтобы в дальнейшем работать в потоке с ними!
-
LilLoco
-
Delirium
Re: .NET - [решено] Синхронизация потоков (C#)
LilLoco, ну помощи в данной ситуации от нас никакой не было, но обращайтесь, чем сможем, поможем 

-
Drongo
Re: .NET - [решено] Синхронизация потоков (C#)
Цитата LilLoco:
все, разобрался сам
А вот я к примеру не разобрался, ответ было бы не плохо дать, а то тема решена, а решение отсутствует. Непорядок.
все, разобрался сам
.NET - [решено] Синхронизация потоков (C#)
А вот я к примеру не разобрался, ответ было бы не плохо дать, а то тема решена, а решение отсутствует. Непорядок.

-
LilLoco
Re: .NET - [решено] Синхронизация потоков (C#)
Извиняюсь %) Сейчас исправлюсь
:
Объявляем делегат
Код:
далее описываем саму функцию
Код:
Здесь описываем метод обращения к элементу,(в данном случае комбобокс)
Код:
Далее пишем функцию самого потока(банальный пример конечно, но все же
))
Код:
Ну и запускаем сам поток
Код:
Вот и все, вроде бы нигде не ошибся, и все должно работать %)
Еще раз приношу свои извинения за невыложенный пример
:Объявляем делегат
Код:
Код: Выделить всё
private delegate string GetTextDelegate();далее описываем саму функцию
Код:
Код: Выделить всё
private string GetText()
{
string strText = comboBox.Text;
return strText;
}Здесь описываем метод обращения к элементу,(в данном случае комбобокс)
Код:
Код: Выделить всё
private string GetTextFunc()
{
string strText;
if (comboBox.InvokeRequired)
{
GetTextDelegate GTD = new GetTextDelegate(GetText);
strText = Convert.ToString(comboBox.Invoke(GTD));
}
else
{
strText = comboBox.Text;
}
return strText;
}Далее пишем функцию самого потока(банальный пример конечно, но все же
))Код:
Код: Выделить всё
private void thFunc()
{
int counter = 0;
string text;
while(true)
{
text = GetTextFunc();
MessageBox.Show(text + "__________" + counter.ToString());
counter ++;
thread.sleep(1000);
}
}Ну и запускаем сам поток
Код:
Код: Выделить всё
Thread thGo = new Thread(new ThreadStart(thFunc));
thGo.Start();Вот и все, вроде бы нигде не ошибся, и все должно работать %)
Еще раз приношу свои извинения за невыложенный пример
