我有一个winforms TreeView控件,允许您浏览对象层次结构。顺便提一下,对象之间有一些循环引用。
让用户导航循环引用没有问题,但我想阻止执行'*'keypress或ExpandAll()命令。
你是怎么做的?
答案 0 :(得分:0)
对于ExpandAll方法,您不能将其作为递归调用Expand和非虚拟方式处理,因此您甚至无法覆盖它。
至于防止'*'键,您可以挂钩到树视图的OnKeyDown事件并使用以下代码取消该键:
private void treeView1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Multiply)
{
e.Handled = true;
e.SuppressKeyPress = true;
}
}
作为一个安全防护,您可以在控制器/演示者/视图模型中注意递归,并且只允许一定数量的递归,例如4。