아래 코드는 사용자 정의 컨트롤에서 트리 뷰의 xml 파일을로드하는 데 사용됩니다. 어떻게 든 확장/닫기 코드가 잘 코딩 된 것 같아요. 더 깨끗한 형태로 이것을 코딩하는 다른 방법이 있습니까? 이 같은사용자 컨트롤 트리 확장/닫기
try{
this.tvTraceSelect.Progress = true;
this.tvTraceSelect.UnitsPath = unitsPath;
this.tvTraceSelect.TracesPath = tracesPath;
this.tvTraceSelect.View = Traces.View.Files;
this.tvTraceSelect.TreeView.CollapseAll();
if (this.tvTraceSelect.TreeView.Nodes.Count > 0)
{
this.tvTraceSelect.TreeView.Nodes[0].Expand();
if (this.tvTraceSelect.TreeView.Nodes[0].Nodes.Count > 0)
{
this.tvTraceSelect.TreeView.Nodes[0].Nodes[0].Expand();
if (this.tvTraceSelect.TreeView.Nodes[0].Nodes[0].Nodes.Count > 0)
{
this.tvTraceSelect.TreeView.Nodes[0].Nodes[0].Nodes[0].Expand();
if (this.tvTraceSelect.TreeView.Nodes[0].Nodes[0].Nodes[0].Nodes.Count > 0)
{
this.tvTraceSelect.TreeView.Nodes[0].Nodes[0].Nodes[0].Nodes[0].Expand();
}
}
}
}
}catch (Exception _excep)
{
MessageBox.Show(this, "An error occured during the initialization of the InitTracesView .\nDetails: "
+ _excep.Message + "\n\n" + _excep.StackTrace, "Initialization error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
당신이 재귀를 사용하여 생각 해 봤나? –
@Charlie Kilian : 해결책을 제안 해 주시겠습니까? – linguini
먼저 물어 보겠습니다. 무엇을 성취하려고합니까? 트리의 모든 노드를 확장하려는 것 같습니다. 너가 원하는게 그거야? –