폼의 내용을 생성하고 레이아웃하는 데 사용하려고하는 for 루프가 있습니다.프로그래밍 방식으로 폼에 컨트롤 삽입
이것은 내가 지금까지 들어 왔 것입니다 :
public void RefreshSkillDialog()
{
Point nPt = new Point(25, 25);
for (int x = 0; x < Enum.GetNames(typeof(Character.Skill)).Length; x++)
{
GenerateFields(x,nPt);
Console.Write(this.Controls.Count + "\n");
Console.WriteLine(this.Controls[x].ToString() + "\n");
}
}
public void GenerateFields(int it, Point pt)
{
Label tLbl = new Label();
tLbl.Location = new Point(pt.X + (it * _vSpace), pt.Y);
tLbl.Name = Enum.GetName(typeof(Character.Skill), it);
tLbl.Text = this.Controls.Count.ToString();
this.Controls.Add(tLbl);
}
_vSpace 생성자에서 10으로 초기화 정수입니다.
이 코드의 결과는 : 나는이 문제를 생각
가 tLbl 변수를 재사용에 있었다, 그러나 나는 다시 초기화하고있어 이후 지금까지 내가 말할 수있는, 그것은 잘 작동합니다 그것은 모든 반복의 시작 부분에 있습니다.
Enum.GetNames (대해서 typeof (Character.Skill)). 길이'? –
반환 값은 스킬 열거 자의 값 수입니다. 현재 길이는 3으로 반환됩니다. – nukeforum