У меня есть приложение для окон, которое имеет восемь отдельных индикаторов выполнения для восьми независимых задач (progressBar0 - progressBar7). Я хочу добавить их в список в моем коде, чтобы я мог проходить через них.Добавление winform progressbars в список
Я объявляю список:
List<Control> progressBar = new List<Control>();
Теперь я перебирать мое управление и добавить те, которые содержат «ProgressBar» в названии:
foreach (Control control in Controls)
{
if (control.Name.Contains("progressBar")) { progressBar.Add(control); }
}
До сих пор так хорошо. Но, я не могу установить .value свойства:
progressBar[0].Value == 100; <-- this doesn't work
выше не будет компилировать и дает ошибку «Контроль не содержит определение для„Value“». Как ни странно, если я использую intellisense, я могу перейти к progressBar и найти параметр Value. Но по какой-то причине я не могу получить доступ к нему программно, и я не могу получить его из списка часов.
я могу получить доступ к значению через AccessibilityObject, но в строчном формате и будет раздражать работать с:
progressBar[0].AccessibilityObject.Value = "100%" <-- this works fine
Если я получить доступ к каждому Progressbar непосредственно, все в порядке:
progressBar0.Value = 100; <-- this works fine
Что я делаю неправильно?
'Еогеасп (ProgressBar бар в Controls.OfType())' –