S.C*_*sen 32 c# treeview winforms
我正在一个小C#/ Winforms应用程序中试验树视图.我已经以编程方式将一个ImageList分配给树视图,并且所有节点都显示它们的图标就好了,但是当我单击一个节点时,它的图标会改变(到ImageList中的第一个图像).如何让图标保持不变?
BTW:"SelectedImageIndex"被设置为"(none)",因为我真的不知道要设置什么,因为图像索引对于节点是不同的(我猜?).
更新:这是应用程序的代码(我正在使用Visual Studio Express 2008):
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
treeView1.BeginUpdate();
treeView1.Nodes.Clear();
treeView1.Nodes.Add("root","Project", 0);
treeView1.Nodes[0].Nodes.Add("Foo", "Foo", 2);
treeView1.Nodes[0].Nodes[0].Nodes.Add("Fizz", "Fizz", 3);
treeView1.Nodes[0].Nodes[0].Nodes.Add("Buzz", "Buzz", 3);
treeView1.Nodes[0].Nodes.Add("Bar", "Bar", 1);
treeView1.Nodes[0].Nodes[1].Nodes.Add("Fizz", "Fizz", 2);
treeView1.Nodes[0].Nodes[1].Nodes[0].Nodes.Add("Buzz", "Buzz", 3);
treeView1.EndUpdate();
treeView1.ImageList = imageList1;
}
}
}
Run Code Online (Sandbox Code Playgroud)
Mat*_*t B 51
只需将每个节点的SelectedImageIndex设置为与ImageIndex相同的值.因此,如果您以编程方式创建节点:
TreeNode node = new TreeNode("My Node");
node.ImageIndex = 1;
node.SelectedImageIndex = 1;
Run Code Online (Sandbox Code Playgroud)
或者您可以在构造函数中指定整个批次:
TreeNode node = new TreeNode("My Node" ,1, 1);
Run Code Online (Sandbox Code Playgroud)
如果您在设计时添加节点,则可以使用设计时编辑器执行相同的操作.您只需要在节点级别而不是在TreeView级别设置SelectedImageIndex.
| 归档时间: |
|
| 查看次数: |
16072 次 |
| 最近记录: |