0
我有一個WinForms的TreeView控件,允許您瀏覽對象層次結構。順便說一下,對象之間有一些循環引用。如何取消WinForms TreeView ExpandAll?
我沒有問題讓用戶導航循環引用,但我想阻止執行'*'按鍵或ExpandAll()命令。
你如何去做這件事?
我有一個WinForms的TreeView控件,允許您瀏覽對象層次結構。順便說一下,對象之間有一些循環引用。如何取消WinForms TreeView ExpandAll?
我沒有問題讓用戶導航循環引用,但我想阻止執行'*'按鍵或ExpandAll()命令。
你如何去做這件事?
對於ExpandAll方法,您不能像處理遞歸調用Expand和它的非虛擬一樣,因此您甚至無法覆蓋它。
作爲防止「*」鍵,你可以連接到樹視圖的onKeyDown事件並使用下面的代碼取消鍵:
private void treeView1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Multiply)
{
e.Handled = true;
e.SuppressKeyPress = true;
}
}
作爲一種安全防護裝置,你可以看出來的遞歸在您的控制器/演示者/視圖模型,並且只允許一定數量的遞歸,例如4.