100分奉送!急! 就是我在treeview 中预先定义了一些节点,这些节点的字节点我通过数据库获得,我不想在treeview中显示获得的节点(这些节点下面可能有也可能没有子节点),我只想在listview中显示出来,不然的话treeview中会显示的很长,不想这样左右这方面的原因!还请帮忙,如有帮助,马上转帐:) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 象sqlserver中,展开节点到tables 的时候就不会再展开,而是把表显示再有变得listview中! 不好意思,是显示再右边的listview中!还有,顺便问一下,怎么对不同的节点显示不同的右键内容! Treeview有text和tag属性。可以在事件中取得鼠标选中的节点,然后根据选中的节点的不同的级别和text/tag分别显示不同的内容! 你可以介绍一下tag的具体内容么,怎么使用?谢谢! private string GetLogicalPath(TreeNode tn){ // 取得该节点在树中的路径 string strPath = tn.FullPath; // 取得该路径中最后一个':'字符的Index int idx = strPath.LastIndexOf(':'); // 返回物理地址 return strPath.Substring(idx - 1);}// 初始化节点目录的子目录void AddDirs(TreeNode tn){ tn.Nodes.Clear(); // 取得当前目录节点的物理地址 DirectoryInfo dirinfo = new DirectoryInfo(GetLogicalPath(tn)); DirectoryInfo[] adirinfo; try { if(tn.Text == "A:\\")return; adirinfo = dirinfo.GetDirectories(); } catch{return;} foreach(DirectoryInfo di in adirinfo) { TreeNode tnDir = new TreeNode(di.Name,2,3); tn.Nodes.Add(tnDir); }}public void AddFiles(TreeNode tn){ if(tn.Text == "我的电脑")return; listView1.Items.Clear(); // 取得当前目录节点的物理地址 DirectoryInfo dirinfo = new DirectoryInfo(GetLogicalPath(tn)); // 保存被选定的目录的路径 strSelDirPath = dirinfo.FullName; // 定义一个文件信息数组 FileInfo[] afileinfo; try {// 取得该路径下所有文件名 afileinfo = dirinfo.GetFiles(); } catch{return;} MyList.Images.Clear(); int i = 0; foreach(FileInfo fileinfo in afileinfo) { // 运行时允许运行其他程序 Application.DoEvents(); try { // 读取图片 Image MyImage = Image.FromFile(fileinfo.FullName); // 将图片增加到列表中 MyList.Images.Add(MyImage); // 增加图片对象 listView1.Items.Add(fileinfo.Name,i); i++; // 在选中目录改变时跳出循环 if(tn != tnSelected) break; } catch {// 遇到不是图片文件就处理下一个文件 continue; } }}private void treeView1_AfterSelect(object sender, System.Windows.Forms.TreeViewEventArgs e){ tnSelected = treeView1.SelectedNode; AddFiles(treeView1.SelectedNode);}//以上代码是我最近编的一个看图软件里抄下来的//代码的功能是当选中一个节点时,向listview里//添加图片Items//我能帮你的就这么多了,代码看不懂可以问:) 谁可以帮我解释一下tag是什么东东么,简单的说的怎么用?谢谢! tag就是一个标签你有一个东西,你怕以后忘了它是做什么用的了,你就贴个标签,说明一下,以后用的时候看下标签就知道了。所以,TAG是一个OBJECT,你在一个树节点的标签填入一个标记值,如1以后,你用到这个节点,你就可以从它的TAG中得到这个1,这可以帮组你做很多事 tag其实没有什么用,可以用来在每个TreeNode里添加一些附加信息呵呵,我还是个学生呢,大家一起努力! 嘿嘿, trier2003(在上海)我怎么觉得你不太会利用MSDN? trier2003(在上海) 研究生呀,这种问题以后还是少问,:-) 不过人都是要一步步过来的! try { nodes.Clear(); TreeNode tParent=new TreeNode(); tParent.Text="文件"; tParent.ImageUrl =FOLDER_IMAGE; // 文件夹 tParent.ExpandedImageUrl =EXPENDED_FOLDER_IMAGE; tParent.SelectedImageUrl =SELECTED_FOLDER_IMAGE; if(nList!=null) { for( int i =0;i<nList.Count;i++) { XmlElement element_main = (XmlElement)nList.Item(i); TreeNode node=new TreeNode(); node.ID =element_main.GetAttribute("FolderID"); node.Text =element_main.GetAttribute("FolderName"); node.ImageUrl =FOLDER_IMAGE; // 文件夹 node.ExpandedImageUrl =EXPENDED_FOLDER_IMAGE; node.SelectedImageUrl =SELECTED_FOLDER_IMAGE; tParent.Nodes.Add(node); } } nodes.Add(tParent); } catch { } c#你面有没有短路与和短路或呢!! 在调试时会出现格式不正确 新手问题2 谢谢大家解答 求助:如何对treeview中的结点做不同处理 很简单的几行代码啊,急急急急急啊急 高手進來解讀下DZ的兩個复杂正則表達式 请问BeginInvoke使用时函数在哪个线程被执行? 使用NPOI操作excel问题 对一个m*n的数组,想将里面的每一个元素都赋为0,怎样最快? 想确定一下,xp下是不是不能装petshop 3.0? 怎样把Xml邦定到DropDownList中呢??高手!马上给分!!!! 怎样使用现有类?
{
// 取得该节点在树中的路径
string strPath = tn.FullPath;
// 取得该路径中最后一个':'字符的Index
int idx = strPath.LastIndexOf(':');
// 返回物理地址
return strPath.Substring(idx - 1);
}// 初始化节点目录的子目录
void AddDirs(TreeNode tn)
{
tn.Nodes.Clear(); // 取得当前目录节点的物理地址
DirectoryInfo dirinfo = new DirectoryInfo(GetLogicalPath(tn)); DirectoryInfo[] adirinfo; try
{
if(tn.Text == "A:\\")return;
adirinfo = dirinfo.GetDirectories();
}
catch{return;} foreach(DirectoryInfo di in adirinfo)
{
TreeNode tnDir = new TreeNode(di.Name,2,3);
tn.Nodes.Add(tnDir);
}
}public void AddFiles(TreeNode tn)
{
if(tn.Text == "我的电脑")return; listView1.Items.Clear(); // 取得当前目录节点的物理地址
DirectoryInfo dirinfo = new DirectoryInfo(GetLogicalPath(tn));
// 保存被选定的目录的路径
strSelDirPath = dirinfo.FullName;
// 定义一个文件信息数组
FileInfo[] afileinfo;
try
{// 取得该路径下所有文件名
afileinfo = dirinfo.GetFiles();
}
catch{return;} MyList.Images.Clear();
int i = 0;
foreach(FileInfo fileinfo in afileinfo)
{
// 运行时允许运行其他程序
Application.DoEvents();
try
{
// 读取图片
Image MyImage = Image.FromFile(fileinfo.FullName);
// 将图片增加到列表中
MyList.Images.Add(MyImage);
// 增加图片对象
listView1.Items.Add(fileinfo.Name,i);
i++; // 在选中目录改变时跳出循环
if(tn != tnSelected) break;
}
catch
{// 遇到不是图片文件就处理下一个文件
continue;
}
}
}private void treeView1_AfterSelect(object sender, System.Windows.Forms.TreeViewEventArgs e)
{
tnSelected = treeView1.SelectedNode;
AddFiles(treeView1.SelectedNode);
}//以上代码是我最近编的一个看图软件里抄下来的
//代码的功能是当选中一个节点时,向listview里
//添加图片Items
//我能帮你的就这么多了,代码看不懂可以问:)
你有一个东西,你怕以后忘了它是做什么用的了,你就贴个标签,说明一下,以后用的时候看下标签就知道了。
所以,TAG是一个OBJECT,你在一个树节点的标签填入一个标记值,如1
以后,你用到这个节点,你就可以从它的TAG中得到这个1,这可以帮组你做很多事
我怎么觉得你不太会利用MSDN?
研究生呀,这种问题以后还是少问,:-)
不过人都是要一步步过来的!
{
nodes.Clear();
TreeNode tParent=new TreeNode();
tParent.Text="文件";
tParent.ImageUrl =FOLDER_IMAGE; // 文件夹
tParent.ExpandedImageUrl =EXPENDED_FOLDER_IMAGE;
tParent.SelectedImageUrl =SELECTED_FOLDER_IMAGE;
if(nList!=null)
{
for( int i =0;i<nList.Count;i++)
{
XmlElement element_main = (XmlElement)nList.Item(i);
TreeNode node=new TreeNode();
node.ID =element_main.GetAttribute("FolderID");
node.Text =element_main.GetAttribute("FolderName");
node.ImageUrl =FOLDER_IMAGE; // 文件夹
node.ExpandedImageUrl =EXPENDED_FOLDER_IMAGE;
node.SelectedImageUrl =SELECTED_FOLDER_IMAGE;
tParent.Nodes.Add(node);
}
}
nodes.Add(tParent);
}
catch
{
}