特定のノードを無効にして、ユーザーが選択できないようにするにはどうすればよいですか。ユーザーのためにそれを隠すことも有効です。TreeNodeエディタでノードを無効またはグレーアウトします
私はVisibleプロパティを試しましたが、ツリー全体(すべてのノード)を非表示にしました。私は、いくつかのノードを無効/隠したいだけです。
C#Visual Studio 2005 TreeNodeエディタを使用します。
特定のノードを無効にして、ユーザーが選択できないようにするにはどうすればよいですか。ユーザーのためにそれを隠すことも有効です。TreeNodeエディタでノードを無効またはグレーアウトします
私はVisibleプロパティを試しましたが、ツリー全体(すべてのノード)を非表示にしました。私は、いくつかのノードを無効/隠したいだけです。
C#Visual Studio 2005 TreeNodeエディタを使用します。
TreeNode
にはEnabled
というプロパティがありません。したがって、その状態をトラッキングする方法を見つける必要があります。これを行う1つの方法は、TreeNode
を継承し、Enabled
プロパティを持つ新しいクラスを作成することです。別の方法は、無効なツリーノードのリストを維持することです。
これが完了すると、TreeNode
のForeColor
プロパティを使用して、淡色表示にすることができます(たとえば、SystemColors.GrayText
の値を使用)。
最後にあなたはそれが特定のノードを選択するようにユーザーのためにOKだかどうかを評価し、そのノードが無効になっている場合は、それを選択防ぐために、そのイベントにイベント引数のCancel
プロパティを使用するBeforeSelect
イベントを使用することができます。
private void TreeView_BeforeSelect(object sender, TreeViewCancelEventArgs e)
{
e.Cancel = !NodeIsEnabled(e.Node);
}
つのオプション:
無効なトリリーンを扱う別の方法が見つかりました。あなたが使用したくないtreenodesを灰色にした場合は、色を尋ねることができ、灰色のノードをすべて許可することはできません。 yourNode.SelectAction = TreeNodeSelectAction.None
によって無効ノードを設定
private void TreeView_BeforeSelect(object sender, TreeViewCancelEventArgs e)
{
if(SystemColors.GrayText==e.Node.ForeColor)
e.Cancel = true;
}
私はあなたにも、このノード yourNode.PopulateOnDemand = false
TreeNodeSelectActionはSystem.Web.UI.WebControls名前空間にある拡張無効に必要があると思います。質問はWindowsフォームについてです。乾杯 – liquide