gpt4 book ai didi

c# - 如何在 asp.net(c#) 中更改颜色。如果树节点检查

转载 作者:太空宇宙 更新时间:2023-11-03 18:13:01 26 4
gpt4 key购买 nike

在我的 ASP.NET 应用程序中,使用启用了复选框的 Treeview 控件。在那个 TreeView 中,如果我检查了树节点,想在特定的检查节点中显示不同的颜色。见下文

 foreach (treenode node in treeview.nodes)
{
if (node.checked == true)
{
"change the color of the node"
}
}

我曾经在编码下面检查这样的节点。但是没有标记来更改选中节点的颜色

    protected void TreeView1_TreeNodeCheckChanged(object sender, TreeNodeEventArgs e)
{

if (e.Node.ChildNodes.Count > 0)
{
CheckAllChildNodes(e.Node, e.Node.Checked);
}

if (e.Node.ChildNodes.Count == 0)
{
CheckAllParentNodes(e.Node);
}
}

private void CheckAllChildNodes(System.Web.UI.WebControls.TreeNode treeNode, bool nodeChecked)
{
foreach (System.Web.UI.WebControls.TreeNode node in treeNode.ChildNodes)
{
node.Checked = nodeChecked;

if (node.ChildNodes.Count > 0)
{
this.CheckAllChildNodes(node, nodeChecked);
}
}
}
private void CheckAllParentNodes(System.Web.UI.WebControls.TreeNode treeNode)
{
if (treeNode.Parent != null)
{
if (treeNode.Checked == false)
{
treeNode.Parent.Checked = false;
CheckAllParentNodes(treeNode.Parent);
}
}
}

请帮我解决这个问题..

最佳答案

设置 SelectedNode 的 BackColor 属性可以使其自动。

treeview.SelectedNodeStyle.BackColor = System.Drawing.Color.Silver;

编辑

asp.net TreeView 中的单个节点没有 ForeColor 属性。要更改前景色,您必须扩展 TreeNode 并在自定义的 TreeNode 类中应用样式。您将不得不在 TreeView 节点集合中使用这个自定义的 TreeNode,而不是使用默认的 TreeNode 类。详细了解这些文章article 1 , <强> article 2 会帮助你。

在 HTML 中

<asp:TreeView ID="TreeView1" runat="server">
<Nodes>
<My:CustomTreeNode Text="Node A"
Value="Node A">
<My:CustomTreeNode Text="Node B"
Value="Node B">
</My:CustomTreeNode>
</My:CustomTreeNode>
</Nodes>
</asp:TreeView>

在代码背后

public class CustomTreeNode : TreeNode
{
protected override void RenderPreText(HtmlTextWriter writer)
{
writer.AddStyleAttribute(HtmlTextWriterStyle.Color, "green");
}
}

关于c# - 如何在 asp.net(c#) 中更改颜色。如果树节点检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11219602/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com