레코드를 보유하고있는 폼이로드 될 때 이동할 템플릿 패널을 만들었습니다. 새 레코드를 추가 할 때 템플릿 패널을 복제 한 다음 각 레코드의 패널 목록에 추가하는 방법이 있습니다. 어떻게 든 컨트롤을 복제 할 때 템플릿 패널에서 컨트롤이 삭제되고 어떻게되는지 알 수 없습니다. 이렇게 코드의 일부는 I가 일어나는 곳 좁힐 3 점에서 messagebox.show()을 넣어한 패널에서 다른 패널로 컨트롤을 복사 할 때 컨트롤이 삭제되는 이유
Panel pn = new Panel()
{
Width = _PNTemp.Width,
Height = _PNTemp.Height,
Left = 0,
Top = 0,
BackColor = _PNTemp.BackColor,
ForeColor = _PNTemp.ForeColor,
AutoScroll = true,
Name = _PNTemp.Name,
Tag = _PrgPanels.Count.ToString()
};
MessageBox.Show(_PNTemp.Controls.Count.ToString());
foreach (Control c in _PNTemp.Controls)
{
pn.Controls.Add(c);
MessageBox.Show(_PNTemp.Controls.Count.ToString());
}
MessageBox.Show(_PNTemp.Controls.Count.ToString());
_PrgPanels.Add(pn);
아래에 나열된다. 첫 번째는 정확한 수의 컨트롤을 보여주고 두 번째와 세 번째는 컨트롤의 총량의 1/2을 보여줍니다. 왜 이런거야?
컨트롤을 "복사"하지 않습니다. 당신이 그들을 움직이고 있습니다. 냉장고에서 맥주 캔을 뱃속에 복사하면 왜 냉장고에서 사라지나요? 사건이 끝날 때까지 혼동해서는 안됩니다. –