首先我有一个imagelist,里面存放了一系列不同图片,把imagelist关联到了treeview上。
然后我在希望添加图片的节点上node.ImageIndex = node.SelectedImageIndex = index;(我希望选中不选择显示的图片是一样的)
然后再把node添加到treeview。这样过后我添加的节点确实都显示了不同的图片,可是未添加图片的其他节点也显示了index=0的图片,请问我不希望未添加图片的节点显示图片,该怎么做?
23 个解决方案
#1
那就多添加一个if判断,原先没有添加图片的,不赋值图片路径
#2
那就就放一个 空白的图片 给你那些不想显示的
#3
我没有给其他的赋值啊,这个难道他是默认赋值的吗?如果按照您的思路,我应该怎么判断。
#4
#5
#6
#7
代码贴出来看看
#8
那就就放一个 空白的图片 给你那些不想显示的
首先,这不是增加工作量了吗?另外我想知道我这样做,其他节点也添加了图片的原因。我应该怎样避免这个问题。
#9
那就多添加一个if判断,原先没有添加图片的,不赋值图片路径
我没有给其他的赋值啊,这个难道他是默认赋值的吗?如果按照您的思路,我应该怎么判断。
代码贴出来看看
for (int i= 0; i< imagelist.Images.Count; i++)
{
TreeNode node_son = new TreeNode();
node_son.Text = valuelist[i];
node_son.Checked = true;
treeView1.ImageList = imagelist;
node_son.ImageIndex = node_son.SelectedImageIndex = i;
node.Nodes.Add(node_son);
}
#10
node_son.ImageIndex = node_son.SelectedImageIndex = i;
上面这句就是赋值了啊。
上面这句就是赋值了啊。
#11
那就就放一个 空白的图片 给你那些不想显示的
首先,这不是增加工作量了吗?另外我想知道我这样做,其他节点也添加了图片的原因。我应该怎样避免这个问题。
当你没有赋值的时候 此时 你觉得 node_son.ImageIndex 的值是什么?
#12
node_son.ImageIndex = node_son.SelectedImageIndex = i;
上面这句就是赋值了啊。
node_son是我希望复制的节点,比如后面那个node节点,是他的父节点,我没有复制,他也有图片。默认第一个,我查看资料看到了这个:添加节点时,有以下几个方法
Add(String) --- 将具有指定标签文本的新树节点添加到当前树节点集合的末尾。
Add(TreeNode) ---将先前创建的树节点添加到树节点集合的末尾。
Add(String, String) ---指定节点KEY和显示文本。
Add(String, String, Int32) ---指定节点KEY,显示文本,图片编号
Add(String, String, String) ---指定节点KEY,显示文本,图片KEY
Add(String, String, Int32, Int32) ---指定节点KEY,显示文本,图片编号,选中时图片编号
Add(String, String, String, String) ---指定节点KEY,显示文本,图片编号,选中时图片KEY
3. 注意
(1) 我们在添加图片到 ImageList 的时候,可以选择不添加KEY的Add方法,但后面调用时,就必须用Add(String, String, Int32)或者Add(String, String, Int32, Int32)的方法添加树节点。
(2) 如果我们添加了图片列表,但在添加子节点时没有调用具体的图片,那么每个节点会默认添加上ImageList第一个(默认)图片。
(3) 如果添加树节点时,没有设置选中时(第四个参数)图片编号或key,那么会在选中时,图标会变成ImageList第一个(默认)图片。
#13
那就就放一个 空白的图片 给你那些不想显示的
首先,这不是增加工作量了吗?另外我想知道我这样做,其他节点也添加了图片的原因。我应该怎样避免这个问题。
当你没有赋值的时候 此时 你觉得 node_son.ImageIndex 的值是什么?
node_son是我需要添加图片的节点,其他的节点的imageindex应该是默认为0了。
#14
node_son.ImageIndex = node_son.SelectedImageIndex = i;
上面这句就是赋值了啊。
node_son是我希望复制的节点,比如后面那个node节点,是他的父节点,我没有复制,他也有图片。默认第一个,我查看资料看到了这个:添加节点时,有以下几个方法
Add(String) --- 将具有指定标签文本的新树节点添加到当前树节点集合的末尾。
Add(TreeNode) ---将先前创建的树节点添加到树节点集合的末尾。
Add(String, String) ---指定节点KEY和显示文本。
Add(String, String, Int32) ---指定节点KEY,显示文本,图片编号
Add(String, String, String) ---指定节点KEY,显示文本,图片KEY
Add(String, String, Int32, Int32) ---指定节点KEY,显示文本,图片编号,选中时图片编号
Add(String, String, String, String) ---指定节点KEY,显示文本,图片编号,选中时图片KEY
3. 注意
(1) 我们在添加图片到 ImageList 的时候,可以选择不添加KEY的Add方法,但后面调用时,就必须用Add(String, String, Int32)或者Add(String, String, Int32, Int32)的方法添加树节点。
(2) 如果我们添加了图片列表,但在添加子节点时没有调用具体的图片,那么每个节点会默认添加上ImageList第一个(默认)图片。
(3) 如果添加树节点时,没有设置选中时(第四个参数)图片编号或key,那么会在选中时,图标会变成ImageList第一个(默认)图片。
不懂你在说什么
#15
不设置imageindex不就好了吗?
#16
不设置imageindex不就好了吗?
你是说我需要添加的node只 node_son.SelectedImageIndex = index;就好了吗?
这样也不行呢.
#17
不设置imageindex不就好了吗?
你是说我需要添加的node只 node_son.SelectedImageIndex = index;就好了吗?
这样也不行呢.
#18
试试(我自己没试过)?
node.ImageIndex = node.SelectedImageIndex = -1;
node.ImageIndex = node.SelectedImageIndex = -1;
#19
试试(我自己没试过)?
node.ImageIndex = node.SelectedImageIndex = -1;
怎样还是不行啊,node是我想添加图片的节点,index= -1 这样node添加的是默认的index为0的图片,其他我没有设置的节点也都添加了index为0 的图片,我不希望其他节点有图片。
#20
#21
#22
这个问题好像不能直接解决,只能自己重写一个控件或者加透明图片。
持续关注中
持续关注中
#23
这个问题好像不能直接解决,只能自己重写一个控件或者加透明图片。
持续关注中
#1
那就多添加一个if判断,原先没有添加图片的,不赋值图片路径
#2
那就就放一个 空白的图片 给你那些不想显示的
#3
那就多添加一个if判断,原先没有添加图片的,不赋值图片路径
我没有给其他的赋值啊,这个难道他是默认赋值的吗?如果按照您的思路,我应该怎么判断。
#4
#5
#6
#7
那就多添加一个if判断,原先没有添加图片的,不赋值图片路径
我没有给其他的赋值啊,这个难道他是默认赋值的吗?如果按照您的思路,我应该怎么判断。
代码贴出来看看
#8
那就就放一个 空白的图片 给你那些不想显示的
首先,这不是增加工作量了吗?另外我想知道我这样做,其他节点也添加了图片的原因。我应该怎样避免这个问题。
#9
那就多添加一个if判断,原先没有添加图片的,不赋值图片路径
我没有给其他的赋值啊,这个难道他是默认赋值的吗?如果按照您的思路,我应该怎么判断。
代码贴出来看看
for (int i= 0; i< imagelist.Images.Count; i++)
{
TreeNode node_son = new TreeNode();
node_son.Text = valuelist[i];
node_son.Checked = true;
treeView1.ImageList = imagelist;
node_son.ImageIndex = node_son.SelectedImageIndex = i;
node.Nodes.Add(node_son);
}
#10
node_son.ImageIndex = node_son.SelectedImageIndex = i;
上面这句就是赋值了啊。
上面这句就是赋值了啊。
#11
那就就放一个 空白的图片 给你那些不想显示的
首先,这不是增加工作量了吗?另外我想知道我这样做,其他节点也添加了图片的原因。我应该怎样避免这个问题。
当你没有赋值的时候 此时 你觉得 node_son.ImageIndex 的值是什么?
#12
node_son.ImageIndex = node_son.SelectedImageIndex = i;
上面这句就是赋值了啊。
node_son是我希望复制的节点,比如后面那个node节点,是他的父节点,我没有复制,他也有图片。默认第一个,我查看资料看到了这个:添加节点时,有以下几个方法
Add(String) --- 将具有指定标签文本的新树节点添加到当前树节点集合的末尾。
Add(TreeNode) ---将先前创建的树节点添加到树节点集合的末尾。
Add(String, String) ---指定节点KEY和显示文本。
Add(String, String, Int32) ---指定节点KEY,显示文本,图片编号
Add(String, String, String) ---指定节点KEY,显示文本,图片KEY
Add(String, String, Int32, Int32) ---指定节点KEY,显示文本,图片编号,选中时图片编号
Add(String, String, String, String) ---指定节点KEY,显示文本,图片编号,选中时图片KEY
3. 注意
(1) 我们在添加图片到 ImageList 的时候,可以选择不添加KEY的Add方法,但后面调用时,就必须用Add(String, String, Int32)或者Add(String, String, Int32, Int32)的方法添加树节点。
(2) 如果我们添加了图片列表,但在添加子节点时没有调用具体的图片,那么每个节点会默认添加上ImageList第一个(默认)图片。
(3) 如果添加树节点时,没有设置选中时(第四个参数)图片编号或key,那么会在选中时,图标会变成ImageList第一个(默认)图片。
#13
那就就放一个 空白的图片 给你那些不想显示的
首先,这不是增加工作量了吗?另外我想知道我这样做,其他节点也添加了图片的原因。我应该怎样避免这个问题。
当你没有赋值的时候 此时 你觉得 node_son.ImageIndex 的值是什么?
node_son是我需要添加图片的节点,其他的节点的imageindex应该是默认为0了。
#14
node_son.ImageIndex = node_son.SelectedImageIndex = i;
上面这句就是赋值了啊。
node_son是我希望复制的节点,比如后面那个node节点,是他的父节点,我没有复制,他也有图片。默认第一个,我查看资料看到了这个:添加节点时,有以下几个方法
Add(String) --- 将具有指定标签文本的新树节点添加到当前树节点集合的末尾。
Add(TreeNode) ---将先前创建的树节点添加到树节点集合的末尾。
Add(String, String) ---指定节点KEY和显示文本。
Add(String, String, Int32) ---指定节点KEY,显示文本,图片编号
Add(String, String, String) ---指定节点KEY,显示文本,图片KEY
Add(String, String, Int32, Int32) ---指定节点KEY,显示文本,图片编号,选中时图片编号
Add(String, String, String, String) ---指定节点KEY,显示文本,图片编号,选中时图片KEY
3. 注意
(1) 我们在添加图片到 ImageList 的时候,可以选择不添加KEY的Add方法,但后面调用时,就必须用Add(String, String, Int32)或者Add(String, String, Int32, Int32)的方法添加树节点。
(2) 如果我们添加了图片列表,但在添加子节点时没有调用具体的图片,那么每个节点会默认添加上ImageList第一个(默认)图片。
(3) 如果添加树节点时,没有设置选中时(第四个参数)图片编号或key,那么会在选中时,图标会变成ImageList第一个(默认)图片。
不懂你在说什么
#15
不设置imageindex不就好了吗?
#16
不设置imageindex不就好了吗?
你是说我需要添加的node只 node_son.SelectedImageIndex = index;就好了吗?
这样也不行呢.
#17
不设置imageindex不就好了吗?
你是说我需要添加的node只 node_son.SelectedImageIndex = index;就好了吗?
这样也不行呢.
#18
试试(我自己没试过)?
node.ImageIndex = node.SelectedImageIndex = -1;
node.ImageIndex = node.SelectedImageIndex = -1;
#19
试试(我自己没试过)?
node.ImageIndex = node.SelectedImageIndex = -1;
怎样还是不行啊,node是我想添加图片的节点,index= -1 这样node添加的是默认的index为0的图片,其他我没有设置的节点也都添加了index为0 的图片,我不希望其他节点有图片。
#20
#21
#22
这个问题好像不能直接解决,只能自己重写一个控件或者加透明图片。
持续关注中
持续关注中
#23
这个问题好像不能直接解决,只能自己重写一个控件或者加透明图片。
持续关注中