Как создать массив меток с Microsoft Visual C# Express Edition? Есть ли способ сделать это с помощью графического редактора (drag'n'drop) или мне нужно вручную добавить его в автоматически сгенерированный код?Array of Labels
ответ
Необходимо добавить его вручную. Но не добавляйте его в автоматически сгенерированный код, поскольку он может быть перезаписан дизайнером Visual Studio.
Я бы добавил его в Load обработчик события для формы. Код может выглядеть так:
Label[] labels = new Label[10];
labels[0] = new Label();
labels[0].Text = "blablabla";
labels[0].Location = new System.Drawing.Point(100, 100);
...
labels[9] = new Label();
...
PS. Твоя задача для меня немного необычна. Что ты хочешь делать? Возможно, есть лучшие способы выполнить вашу задачу.
Спасибо ... Я делаю Машина Тьюринга тренажер. Эти метки будут представлять собой часть ленты. – dpetek
Вы можете добавить метки к форме с помощью графического редактора, а затем добавить их в массив в форме загрузки.
Label[] _Labels = new Label[3];
private void MyForm_Load(object sender, EventArgs e)
{
_Labels[0] = this.Label1;
_Labels[1] = this.Label2;
_Labels[2] = this.Label3;
}
Это, по крайней мере, упростит настройку местоположения. Также вы можете рассмотреть возможность использования FlowLayoutPanel, если вы динамически создаете ярлыки (или любой элемент управления действительно).
Label[ , ] _arr = new Label[4 , 4];
private void Form1_Load(object sender, EventArgs e)
{
for(int i=0;i<4;i++){
for(int j=0;j<4;j++){
_arr[i ,j] = new Label();
_arr[i ,j].Text = ""+i+","+j;
_arr[i ,j].Size = new Size(50,50);
_arr[i ,j].Location = new Point(j*50,i*50);
//you can set other property here like Border or else
this.Controls.Add(_arr[i ,j]);
}
}
}
, если вы хотите установить границы метки в C#, может быть, вы должны проверить http://msdn.microsoft.com/en-us/library/system.windows.forms.label.aspx
этикетки имеют свойство Border. Пожалуйста, проверь это. Благодаря
int i=0;
ControlNum=10;
Label[] lblExample= new Label[];
for(i=0;i<ControlNum;i++)
{
lblExample[i] = new Label();
lblExample[i].ID="lblName"+i; //lblName0,lblName1,lblName2....
Form1.Controls.Add(lblExample[i]);
}
XD ...
Joshit0 ..
. Вы используете неправильный тип скобок для строки объявления Label []. Этот код не будет компилироваться. –
это право .. спасибо Стивен ... (y) –
никогда не изменить что-либо в сгенерированном коде: ваши изменения будут перезаписаны дизайнером –