Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Как из другого потока менять динамические лейблы?


Автор: transkriptsiya 29.1.2015, 16:41
У меня есть класс который динамически размещает на основную форму лейблы.
И в отдельном потоке плеер который читает список файлов
(имя лейбла -это цифра, а аудио файл это озвучка)

Как мне из второго потока получить доступ к динамически созданным лейблам, что бы во время проигрывания аудио, менять цвет лейбла который в данный момент играет.  ((Label)sender) во втором потоке не работает

Автор: infarch 30.1.2015, 10:54
Ваш вопрос - из серии "как ездить на квадратных колесах?". Как-то можно наверно, а смысл? Лейблы в данном случае - то самое квадратное колесо. Сделайте нормальную иерархию классов для треков и плейлиста, сделайте юзерконтрол для отображения, используйте технологию связывания данных. Тогда это будет нечто пригодное.

Касаемо "как из другого потока управлять формой": читайте про Invoke.

Автор: transkriptsiya 3.2.2015, 01:34
у меня 100 лейблов созданных динамически. мне нужно по очереди дернуть каждый из них - а как к ним подступится никак не получается :(
Строить юзерконтрол для того что бы поменять цвет лейблу или связывать данные имхо из пушки по воробьям - должны быть способы попроще, задача же простая

Автор: azesmcar 3.2.2015, 13:00
Читай https://msdn.microsoft.com/en-us/library/system.windows.forms.control.invokerequired%28v=vs.110%29.aspx

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)