#c# #progress-bar
#c# #индикатор выполнения
Вопрос:
Я хотел бы знать, как я могу создать массив круговых индикаторов выполнения и получить доступ к его свойствам в массиве, например CircularProgressBar[i].text
, CircularProgressBar[i].value
и.
Я пытался использовать массив объектов, но я не могу получить доступ к свойствам кругового индикатора выполнения в цикле for , я также пытался сделать для массивов один типstring и в нем есть все CircularProgressBars.text
, а другой — тип INT, который содержит CircularProgressBar.value
, но это не сработало, в форме ничего не изменилось.
CircularProgressBar.CircularProgressBar[] cbpArray = new CircularProgressBar.CircularProgressBar[] { shifts1.circularProgressBarNeeShift1, shifts1.circularProgressBarNeeShift2, shifts1.circularProgressBarNeeShift1 };
public Form1()
{
InitializeComponent();
}
Ответ №1:
Хорошо, поскольку вы пытаетесь ссылаться на элемент, который находится в пользовательском элементе управления, вам нужно добавить средство доступа в ваш файл UserControl .cs. Я полагаю, что для вас это называется shift1.cs.
Примечание: cpb — это имя, которое я дал CircularProgressBar внутри UserControl shifts1.
public partial class shifts1 : UserControl
{
public CircularProgressBar.CircularProgressBar CPB
{
get
{
return cpb;
}
set
{
cpb = value;
}
}
public shifts1()
{
InitializeComponent();
}
}
Затем вы будете использовать имя для каждого пользовательского элемента управления из вашей формы. В моем случае я назвал свои formCPB1 и formCPB2.
CircularProgressBar.CircularProgressBar[] arr = new CircularProgressBar.CircularProgressBar[]
{ formCPB1.CPB, formCPB2.CPB };
Как только у вас есть массив, вы можете получить к ним доступ, используя имя массива.
arr[0].Text = "test";
arr[1].Text = "asdf";
Комментарии:
1. да, спасибо, но я столкнулся с другой проблемой, потому что мой циклический индикатор выполнения находится в пользовательском элементе управления, когда я хочу получить к нему доступ в моей общедоступной форме частичного класса, я получил сообщение об ошибке «инициализатор поля не может ссылаться на нестатическое поле», и если я создам статический экземпляр этого пользовательского элемента управления,ошибка исчезает, но в приложении form ничего не меняется,
2. Пожалуйста, опубликуйте некоторый код, чтобы мы могли повторить проблему.
3. Я обновил картинку, вы можете видеть, что я получил