나는 사용자 지정 컨트롤을 가지고 및 속성 중 하나입니다 : 제어 생성자에서 속성을 설정 한 후 속성이 null로 설정됩니까?
public List<SelectionBox> Boxes { get; set; }
나는이 : 내가 여기에 브레이크 포인트를 할 경우
this.Boxes = new List<SelectionBox>();
this.Boxes.Add(new SelectionBox("", Color.Red));
는 InitializeComponent를()는, 그것을 보여줍니다 전에 그 상자는 1 요소를 가진 SelectionBox의 목록입니다. 그러나 다음의 안에 내 OnPaint를 다음 작업을 수행 할 경우는, 몇 가지 이상한 행동을 null로 설정 한 오버라이드 (override) :
foreach (SelectionBox box in Boxes) {}
그것은 단지 거기에서 기능을 종료 오류가 발생하지 않습니다. 내가 도대체 뭘 잘못하고있는 겁니까?
선택 상자 구조체 :
[Serializable]
public struct SelectionBox
{
public string Name;
public Color Colour;
public Rectangle BoxRectangle;
public bool IsActive;
public SelectionBox(string name, Color colour)
{
this.Name = name;
this.Colour = colour;
this.IsActive = false;
this.BoxRectangle = new Rectangle(0, 0, 0, 0);
}
}
이것이 잘못되었을 수도 있습니다. 표시 할 수있는 코드의 관련 부분이 있습니까? – Destrictor
상자의 올바른 인스턴스를 사용하고 있습니까? – Woot4Moo
SelectionBox 클래스를 보여줄 수 있습니까? –