1.点击一个父节点后,通过密码验证才能展开其子节点,密码正确则展开,否则不展开,怎么才能达到这个功能?我用BeforeExpand事件,但没有实现,我的代码如下:
private void treeView1_BeforeExpand(object sender, TreeViewCancelEventArgs e)
{
switch (e.Node.Name)
{
case "2":
//pawd_va为密码验证的窗体,密码正确pa_va将返回true
pawd_va frm_pawd = new pawd_va();
frm_pawd.ShowDialog();
if (!pawd_va.pa_va)
{
treeView1.CollapseAll();
MessageBox.Show("密码错误56565!");
}
break;
}
}2.当展开这个父节点的三个子节点并点击,每个子节点都会打开一个新的窗体,要实现在关闭由这个父节点的三个子节点打开的最后一个窗体时,这个父节点就折叠的功能,那么怎么样判断关闭的是最后一个窗体呢?有可能只打开一个或两个。考虑过设置一个int变量,打开一个就加1,关闭一个就减1,当为0时就折叠,但觉得太麻烦,请问有没有更好的方法?
谢谢!!
private void treeView1_BeforeExpand(object sender, TreeViewCancelEventArgs e)
{
switch (e.Node.Name)
{
case "2":
//pawd_va为密码验证的窗体,密码正确pa_va将返回true
pawd_va frm_pawd = new pawd_va();
frm_pawd.ShowDialog();
if (!pawd_va.pa_va)
{
treeView1.CollapseAll();
MessageBox.Show("密码错误56565!");
}
break;
}
}2.当展开这个父节点的三个子节点并点击,每个子节点都会打开一个新的窗体,要实现在关闭由这个父节点的三个子节点打开的最后一个窗体时,这个父节点就折叠的功能,那么怎么样判断关闭的是最后一个窗体呢?有可能只打开一个或两个。考虑过设置一个int变量,打开一个就加1,关闭一个就减1,当为0时就折叠,但觉得太麻烦,请问有没有更好的方法?
谢谢!!
2.你可以设置一个哈希表,打开一个窗体把窗体存进去,关闭窗体的时候清空这个值,到最后你可以判断这个哈希表里是否有值就可以了