0
이 코드는 treeview 컨트롤의 자식 노드를 확인하고 선택을 취소합니다. 이 코드에는 어떤 알고리즘이 사용됩니까?이 코드에는 어떤 알고리즘이 사용됩니까?
private int _callCountUp;
private int _callCountDn;
private void tvwPermissions_AfterCheck(object sender, System.Windows.Forms.TreeViewEventArgs e)
{
bool anyChecked = false;
if (_callCountDn == 0 && e.Node.Parent != null)
{
anyChecked = false;
foreach (TreeNode childNode in e.Node.Parent.Nodes)
{
if (childNode.Checked)
{
anyChecked = true;
break;
}
}
_callCountUp += 1;
if (anyChecked)
e.Node.Parent.Checked = true;
_callCountUp -= 1;
}
if (_callCountUp == 0)
{
foreach (TreeNode childNode in e.Node.Nodes)
{
_callCountDn += 1;
childNode.Checked = e.Node.Checked;
_callCountDn -= 1;
}
}
}
저는이 질문을 정말로 이해하지 못합니다. 알고리즘이 사용 된 것이 아닌가? :) 또는 어떻게 작동하는지 궁금합니까? – Skurmedel
또 다른 질문 :'tvwPermissions_AfterCheck'가 호출 될 때, 노드에서'Checked = ...'를 호출 할 때마다 의심 스럽습니다. – Skurmedel