Sam w sobie nie ma żadnej właściwości Enabled
, więc musisz znaleźć sposób na śledzenie tego stanu. Jednym ze sposobów, aby to zrobić, jest utworzenie nowej klasy dziedziczącej TreeNode
i zawierającej własność Enabled
. Innym sposobem jest utrzymanie listy wyłączonych węzłów drzewa.
Po wykonaniu tej czynności można użyć właściwości ForeColor
obiektu TreeNode
, aby wyglądała na wyszarzona (na przykład przy użyciu wartości SystemColors.GrayText
).
Wreszcie można użyć zdarzenia BeforeSelect
aby ocenić, czy jest to OK, aby użytkownik mógł wybrać konkretny węzeł i używać własność args zdarzenia Cancel
w takim przypadku, aby zapobiec wybierając go, jeśli ten węzeł jest wyłączone:
private void TreeView_BeforeSelect(object sender, TreeViewCancelEventArgs e)
{
e.Cancel = !NodeIsEnabled(e.Node);
}
TreeNodeSelectAction jest w przestrzeni nazw System.Web.UI.WebControls. Pytanie dotyczy Windows Forms. Twoje zdrowie – liquide