本人刚接触C#,有很多基本东西还不了解,望各位高手指教!
21 个解决方案
#1
顶一个!
等高手路过。
等高手路过。
#2
如果是winform的话,首先需要为窗体添加ImageList,然后把所有需要显示的图标加载其中。
然后用此去初始化treeview的ImageList属性
那么添加节点的时候,可以如下:
Dim tnNew As TreeNode = yourTreeView.Nodes.Add( "Test" )
tnNew.ImageIndex = 0 'Index starts from 1
然后用此去初始化treeview的ImageList属性
那么添加节点的时候,可以如下:
Dim tnNew As TreeNode = yourTreeView.Nodes.Add( "Test" )
tnNew.ImageIndex = 0 'Index starts from 1
#3
C#
TreeNode tnNew = yourTreeView.Nodes.Add( "Test" );
tnNew.ImageIndex = 0;//Index starts from 1
TreeNode tnNew = yourTreeView.Nodes.Add( "Test" );
tnNew.ImageIndex = 0;//Index starts from 1
#4
节点我都添加好了,现在只是要在节点前面加图标,
Knight94(愚翁) 兄弟可否说的再详细一点啊,
Knight94(愚翁) 兄弟可否说的再详细一点啊,
#5
如果是winform的话,首先需要为窗体添加ImageList,然后把所有需要显示的图标加载其中。
然后用此去初始化treeview的ImageList属性
那么添加节点的时候,可以如下:
TreeNode tnNew = yourTreeView.Nodes.Add( "Test" );
tnNew.ImageIndex = 0;//Index starts from 1
------------------------------------------------------------
说的挺详细的了。这是在程序动态添加的。
如果你所有节点使用相同的图标,那就可以为 TreeView 选择 ImageList.
然后设置 ImageIndex 。如果让 node 被选择时有不同的图标就把 SelectedImageIndex 设置为不同的值。
然后用此去初始化treeview的ImageList属性
那么添加节点的时候,可以如下:
TreeNode tnNew = yourTreeView.Nodes.Add( "Test" );
tnNew.ImageIndex = 0;//Index starts from 1
------------------------------------------------------------
说的挺详细的了。这是在程序动态添加的。
如果你所有节点使用相同的图标,那就可以为 TreeView 选择 ImageList.
然后设置 ImageIndex 。如果让 node 被选择时有不同的图标就把 SelectedImageIndex 设置为不同的值。
#6
为整个Tree增加一个Imagelist。
然后为每个节点分配ImageIndex。
然后为每个节点分配ImageIndex。
#7
但是我在属性中不能设置Imagelist,ImageIndex啊!
#8
你添加一个 ImageList 了么?
它也是个控件。
#9
从工具箱找到ImageList 拖到你的TreeView上 然后就可以设置了
#10
但是我生成的树是遍历数据库后,还原生成的。那该怎么加 啊?
是要获取节点的相对路径吗?
是要获取节点的相对路径吗?
#11
Knight94(愚翁) 说的很清楚了啊。
如果是winform的话,首先需要为窗体添加ImageList,然后把所有需要显示的图标加载其中。
然后用此去初始化treeview的ImageList属性
那么添加节点的时候,可以如下:
TreeNode tnNew = yourTreeView.Nodes.Add( "Test" );
tnNew.ImageIndex = 0;//Index starts from 1
-----------------------------------------------------------
按上面的做不就完了?
如果是winform的话,首先需要为窗体添加ImageList,然后把所有需要显示的图标加载其中。
然后用此去初始化treeview的ImageList属性
那么添加节点的时候,可以如下:
TreeNode tnNew = yourTreeView.Nodes.Add( "Test" );
tnNew.ImageIndex = 0;//Index starts from 1
-----------------------------------------------------------
按上面的做不就完了?
#12
静态:
创建一个ImageList(工具栏里有个控件),选中它,属性理由一个Images,点击后面的...按钮,向这个控件里加几幅图标,图标的索引值是从0开始的.然后保存.将treeview属性里的ImageList选项设为你刚才添加的ImageList1,再在属性Image中找到你想要的图标
动态:
创建一个ImageList(工具栏里有个控件),选中它,属性理由一个Images,点击后面的...按钮,向这个控件里加几幅图标,图标的索引值是从0开始的.然后保存.将treeview属性里的ImageList选项设为你刚才添加的ImageList1,如愚翁所说,在初始化树时TreeNode node=yourTreeView.Nodes.Add("");//节点添加
node.ImageIndex=0;//0为ImageList1里的图标的索引值
创建一个ImageList(工具栏里有个控件),选中它,属性理由一个Images,点击后面的...按钮,向这个控件里加几幅图标,图标的索引值是从0开始的.然后保存.将treeview属性里的ImageList选项设为你刚才添加的ImageList1,再在属性Image中找到你想要的图标
动态:
创建一个ImageList(工具栏里有个控件),选中它,属性理由一个Images,点击后面的...按钮,向这个控件里加几幅图标,图标的索引值是从0开始的.然后保存.将treeview属性里的ImageList选项设为你刚才添加的ImageList1,如愚翁所说,在初始化树时TreeNode node=yourTreeView.Nodes.Add("");//节点添加
node.ImageIndex=0;//0为ImageList1里的图标的索引值
#13
大家说的我都明白,说的也很对,但是我想在一个TREEVIEW里添加不同的图标,在属性里选择只能是添加相同的图标啊,而被选择时,图标是不变的。
#14
也就是说,我添加节点的时候不是用TreeNode node=yourTreeView.Nodes.Add("")这种方式添加的,而是从数据库把数据读出来,赋给一个变量,再根据条件来添加的。
#15
代码?
总会有添加node的时候吧?
可能你的方法俺不清楚。
我的是类似下面这样的。
private void CreateTree()
{
dv = dtTree.DefaultView;
dv.Sort = "TypeParentID ASC";
DataRowView[] arrDRV = dv.FindRows( 0 );//Get root data info
if( arrDRV.Length == 0 )
{
return;
}
TreeNode tnNew = null;
foreach( DataRowView drv in arrDRV )
{
tnNew = TreeView.Nodes.Add( drv.Row["TypeName"].ToString() );
tnNew.Tag = drv.Row["TypeID"].ToString();//Save "TypeID" in node's tag
tnNew.SelectedImageIndex = 0;//这里设置图标
tnNew.ImageIndex = 1;
CreateTreeNode( ref tnNew );
}
this.ExpandAll();
}
private void CreateTreeNode( ref TreeNode tnParent )
{
DataRowView[] arrDRV = dv.FindRows( tnParent.Tag );//Get children data info
if( arrDRV.Length == 0 )
{
return;
}
TreeNode tnNew = null;
foreach( DataRowView drv in arrDRV )
{
tnNew = tnParent.Nodes.Add( drv.Row["TypeName"].ToString() );
tnNew.Tag = drv.Row["TypeID"].ToString();//Save "TypeID" in node's tag
tnNew.SelectedImageIndex = 2;//这里设置图标
tnNew.ImageIndex = 3;
//如果是多层的话,就打开此句
//CreateTreeNode( ref tnNew );
}
}
总会有添加node的时候吧?
可能你的方法俺不清楚。
我的是类似下面这样的。
private void CreateTree()
{
dv = dtTree.DefaultView;
dv.Sort = "TypeParentID ASC";
DataRowView[] arrDRV = dv.FindRows( 0 );//Get root data info
if( arrDRV.Length == 0 )
{
return;
}
TreeNode tnNew = null;
foreach( DataRowView drv in arrDRV )
{
tnNew = TreeView.Nodes.Add( drv.Row["TypeName"].ToString() );
tnNew.Tag = drv.Row["TypeID"].ToString();//Save "TypeID" in node's tag
tnNew.SelectedImageIndex = 0;//这里设置图标
tnNew.ImageIndex = 1;
CreateTreeNode( ref tnNew );
}
this.ExpandAll();
}
private void CreateTreeNode( ref TreeNode tnParent )
{
DataRowView[] arrDRV = dv.FindRows( tnParent.Tag );//Get children data info
if( arrDRV.Length == 0 )
{
return;
}
TreeNode tnNew = null;
foreach( DataRowView drv in arrDRV )
{
tnNew = tnParent.Nodes.Add( drv.Row["TypeName"].ToString() );
tnNew.Tag = drv.Row["TypeID"].ToString();//Save "TypeID" in node's tag
tnNew.SelectedImageIndex = 2;//这里设置图标
tnNew.ImageIndex = 3;
//如果是多层的话,就打开此句
//CreateTreeNode( ref tnNew );
}
}
#16
mark
#17
收藏
#18
wdy9927(wdy9927)兄弟,谢谢你的回复,我会给你结分的,
看来大家还是没有明白我的想法,呵呵。。
我再给大家说一遍,就是我在一个TREEVIEW里添加了两棵树,我想把这两棵树的图标设置为不同的图标。就是这样的。我该怎么做?
看来大家还是没有明白我的想法,呵呵。。
我再给大家说一遍,就是我在一个TREEVIEW里添加了两棵树,我想把这两棵树的图标设置为不同的图标。就是这样的。我该怎么做?
#19
先添加一个图像图标,然后图像图标和树关联,再设树的ImageIndex 即可.
#20
一个treeview两棵树?那倒没有试过.你是怎么实现的?总有判断这个节点属于哪个树吧?属于第一课就加一种图标,属于另外一棵就加载另外一种图标,没试过啊,不知道可行不
#21
我只是设置了两个根节点,让他生成两棵树,
我试试,
我试试,
#1
顶一个!
等高手路过。
等高手路过。
#2
如果是winform的话,首先需要为窗体添加ImageList,然后把所有需要显示的图标加载其中。
然后用此去初始化treeview的ImageList属性
那么添加节点的时候,可以如下:
Dim tnNew As TreeNode = yourTreeView.Nodes.Add( "Test" )
tnNew.ImageIndex = 0 'Index starts from 1
然后用此去初始化treeview的ImageList属性
那么添加节点的时候,可以如下:
Dim tnNew As TreeNode = yourTreeView.Nodes.Add( "Test" )
tnNew.ImageIndex = 0 'Index starts from 1
#3
C#
TreeNode tnNew = yourTreeView.Nodes.Add( "Test" );
tnNew.ImageIndex = 0;//Index starts from 1
TreeNode tnNew = yourTreeView.Nodes.Add( "Test" );
tnNew.ImageIndex = 0;//Index starts from 1
#4
节点我都添加好了,现在只是要在节点前面加图标,
Knight94(愚翁) 兄弟可否说的再详细一点啊,
Knight94(愚翁) 兄弟可否说的再详细一点啊,
#5
如果是winform的话,首先需要为窗体添加ImageList,然后把所有需要显示的图标加载其中。
然后用此去初始化treeview的ImageList属性
那么添加节点的时候,可以如下:
TreeNode tnNew = yourTreeView.Nodes.Add( "Test" );
tnNew.ImageIndex = 0;//Index starts from 1
------------------------------------------------------------
说的挺详细的了。这是在程序动态添加的。
如果你所有节点使用相同的图标,那就可以为 TreeView 选择 ImageList.
然后设置 ImageIndex 。如果让 node 被选择时有不同的图标就把 SelectedImageIndex 设置为不同的值。
然后用此去初始化treeview的ImageList属性
那么添加节点的时候,可以如下:
TreeNode tnNew = yourTreeView.Nodes.Add( "Test" );
tnNew.ImageIndex = 0;//Index starts from 1
------------------------------------------------------------
说的挺详细的了。这是在程序动态添加的。
如果你所有节点使用相同的图标,那就可以为 TreeView 选择 ImageList.
然后设置 ImageIndex 。如果让 node 被选择时有不同的图标就把 SelectedImageIndex 设置为不同的值。
#6
为整个Tree增加一个Imagelist。
然后为每个节点分配ImageIndex。
然后为每个节点分配ImageIndex。
#7
但是我在属性中不能设置Imagelist,ImageIndex啊!
#8
你添加一个 ImageList 了么?
它也是个控件。
#9
从工具箱找到ImageList 拖到你的TreeView上 然后就可以设置了
#10
但是我生成的树是遍历数据库后,还原生成的。那该怎么加 啊?
是要获取节点的相对路径吗?
是要获取节点的相对路径吗?
#11
Knight94(愚翁) 说的很清楚了啊。
如果是winform的话,首先需要为窗体添加ImageList,然后把所有需要显示的图标加载其中。
然后用此去初始化treeview的ImageList属性
那么添加节点的时候,可以如下:
TreeNode tnNew = yourTreeView.Nodes.Add( "Test" );
tnNew.ImageIndex = 0;//Index starts from 1
-----------------------------------------------------------
按上面的做不就完了?
如果是winform的话,首先需要为窗体添加ImageList,然后把所有需要显示的图标加载其中。
然后用此去初始化treeview的ImageList属性
那么添加节点的时候,可以如下:
TreeNode tnNew = yourTreeView.Nodes.Add( "Test" );
tnNew.ImageIndex = 0;//Index starts from 1
-----------------------------------------------------------
按上面的做不就完了?
#12
静态:
创建一个ImageList(工具栏里有个控件),选中它,属性理由一个Images,点击后面的...按钮,向这个控件里加几幅图标,图标的索引值是从0开始的.然后保存.将treeview属性里的ImageList选项设为你刚才添加的ImageList1,再在属性Image中找到你想要的图标
动态:
创建一个ImageList(工具栏里有个控件),选中它,属性理由一个Images,点击后面的...按钮,向这个控件里加几幅图标,图标的索引值是从0开始的.然后保存.将treeview属性里的ImageList选项设为你刚才添加的ImageList1,如愚翁所说,在初始化树时TreeNode node=yourTreeView.Nodes.Add("");//节点添加
node.ImageIndex=0;//0为ImageList1里的图标的索引值
创建一个ImageList(工具栏里有个控件),选中它,属性理由一个Images,点击后面的...按钮,向这个控件里加几幅图标,图标的索引值是从0开始的.然后保存.将treeview属性里的ImageList选项设为你刚才添加的ImageList1,再在属性Image中找到你想要的图标
动态:
创建一个ImageList(工具栏里有个控件),选中它,属性理由一个Images,点击后面的...按钮,向这个控件里加几幅图标,图标的索引值是从0开始的.然后保存.将treeview属性里的ImageList选项设为你刚才添加的ImageList1,如愚翁所说,在初始化树时TreeNode node=yourTreeView.Nodes.Add("");//节点添加
node.ImageIndex=0;//0为ImageList1里的图标的索引值
#13
大家说的我都明白,说的也很对,但是我想在一个TREEVIEW里添加不同的图标,在属性里选择只能是添加相同的图标啊,而被选择时,图标是不变的。
#14
也就是说,我添加节点的时候不是用TreeNode node=yourTreeView.Nodes.Add("")这种方式添加的,而是从数据库把数据读出来,赋给一个变量,再根据条件来添加的。
#15
代码?
总会有添加node的时候吧?
可能你的方法俺不清楚。
我的是类似下面这样的。
private void CreateTree()
{
dv = dtTree.DefaultView;
dv.Sort = "TypeParentID ASC";
DataRowView[] arrDRV = dv.FindRows( 0 );//Get root data info
if( arrDRV.Length == 0 )
{
return;
}
TreeNode tnNew = null;
foreach( DataRowView drv in arrDRV )
{
tnNew = TreeView.Nodes.Add( drv.Row["TypeName"].ToString() );
tnNew.Tag = drv.Row["TypeID"].ToString();//Save "TypeID" in node's tag
tnNew.SelectedImageIndex = 0;//这里设置图标
tnNew.ImageIndex = 1;
CreateTreeNode( ref tnNew );
}
this.ExpandAll();
}
private void CreateTreeNode( ref TreeNode tnParent )
{
DataRowView[] arrDRV = dv.FindRows( tnParent.Tag );//Get children data info
if( arrDRV.Length == 0 )
{
return;
}
TreeNode tnNew = null;
foreach( DataRowView drv in arrDRV )
{
tnNew = tnParent.Nodes.Add( drv.Row["TypeName"].ToString() );
tnNew.Tag = drv.Row["TypeID"].ToString();//Save "TypeID" in node's tag
tnNew.SelectedImageIndex = 2;//这里设置图标
tnNew.ImageIndex = 3;
//如果是多层的话,就打开此句
//CreateTreeNode( ref tnNew );
}
}
总会有添加node的时候吧?
可能你的方法俺不清楚。
我的是类似下面这样的。
private void CreateTree()
{
dv = dtTree.DefaultView;
dv.Sort = "TypeParentID ASC";
DataRowView[] arrDRV = dv.FindRows( 0 );//Get root data info
if( arrDRV.Length == 0 )
{
return;
}
TreeNode tnNew = null;
foreach( DataRowView drv in arrDRV )
{
tnNew = TreeView.Nodes.Add( drv.Row["TypeName"].ToString() );
tnNew.Tag = drv.Row["TypeID"].ToString();//Save "TypeID" in node's tag
tnNew.SelectedImageIndex = 0;//这里设置图标
tnNew.ImageIndex = 1;
CreateTreeNode( ref tnNew );
}
this.ExpandAll();
}
private void CreateTreeNode( ref TreeNode tnParent )
{
DataRowView[] arrDRV = dv.FindRows( tnParent.Tag );//Get children data info
if( arrDRV.Length == 0 )
{
return;
}
TreeNode tnNew = null;
foreach( DataRowView drv in arrDRV )
{
tnNew = tnParent.Nodes.Add( drv.Row["TypeName"].ToString() );
tnNew.Tag = drv.Row["TypeID"].ToString();//Save "TypeID" in node's tag
tnNew.SelectedImageIndex = 2;//这里设置图标
tnNew.ImageIndex = 3;
//如果是多层的话,就打开此句
//CreateTreeNode( ref tnNew );
}
}
#16
mark
#17
收藏
#18
wdy9927(wdy9927)兄弟,谢谢你的回复,我会给你结分的,
看来大家还是没有明白我的想法,呵呵。。
我再给大家说一遍,就是我在一个TREEVIEW里添加了两棵树,我想把这两棵树的图标设置为不同的图标。就是这样的。我该怎么做?
看来大家还是没有明白我的想法,呵呵。。
我再给大家说一遍,就是我在一个TREEVIEW里添加了两棵树,我想把这两棵树的图标设置为不同的图标。就是这样的。我该怎么做?
#19
先添加一个图像图标,然后图像图标和树关联,再设树的ImageIndex 即可.
#20
一个treeview两棵树?那倒没有试过.你是怎么实现的?总有判断这个节点属于哪个树吧?属于第一课就加一种图标,属于另外一棵就加载另外一种图标,没试过啊,不知道可行不
#21
我只是设置了两个根节点,让他生成两棵树,
我试试,
我试试,