PDA

View Full Version : سوال: چگونگی نمایش فایل ها و فولدر ها در TreeView



diba_gh
جمعه 12 آذر 1389, 17:25 عصر
با سلام
من یه برنامه ای راجع به فایل ها می نویسم می خواستم که تمام درایو ها و پوشه ها و همچنین فایل های درون سیستم در یک treeView نمایش داده شود مشابه برنامه ی windows explorer. ممنون می شم اگه کسی بتونه کد این treeView رو بده.

hadi-z
جمعه 12 آذر 1389, 17:32 عصر
سلام

اینارو ببینید:
www.codeproject.com/KB/list/TreeView_ListView.aspx (http://www.codeproject.com/KB/list/TreeView_ListView.aspx)

http://msdn.microsoft.com/en-us/library/system.windows.forms.treeview.afterselect(VS.71).a spx

http://www.dreamincode.net/code/snippet2591.htm

diba_gh
جمعه 12 آذر 1389, 20:06 عصر
ممنون. من از سایت سومی که گذاشتین استفاده کردم. از این تابع برای نمایش دایرکتوری و فایل ها می شه استفاده کرد.

public void PopulateTree(string dir, TreeNode node)
{

// get the information of the directory

DirectoryInfo directory = new DirectoryInfo(dir);

// loop through each subdirectory

foreach (DirectoryInfo d in directory.GetDirectories())
{

// create a new node

TreeNode t = new TreeNode(d.Name);

// populate the new node recursively

PopulateTree(d.FullName, t);

node.Nodes.Add(t); // add the node to the "master" node

}


foreach (FileInfo f in directory.GetFiles())
{

// create a new node

TreeNode t = new TreeNode(f.Name);

// add it to the "master"

node.Nodes.Add(t);

}


}
ولی چه طور می شه گفت به ازای تمام درایوهای سیستم این کار را انجام بدهد. البته من از این کد استفاده کردم ولی یه خورده مشکل داره

private void Form5_Load(object sender, EventArgs e)
{
foreach (DriveInfo s in DriveInfo.GetDrives())
{
if (s.IsReady == true)
{
treeView1.Nodes.Add(s.Name);
PopulateTree(s.RootDirectory.ToString(), treeView1.Nodes[0]);
}
}


ممنون می شم کسی بتونه راهنماییم کنه.

morteza271
جمعه 12 آذر 1389, 20:11 عصر
اگه ميشه دقيقا بگبن مشكل چيه تا بشه كمك كرد!
ولي فكر كنم مشكلتون در اين خطه:

PopulateTree(s.RootDirectory.ToString(), treeView1.Nodes[0]);
شما با ابن دستور دارين هميشه نود اول رو بهش پاس ميدين در صورتي كه هر دفعه بايد بره به نود بعدي...
موفق باشيد...

hadi-z
جمعه 12 آذر 1389, 20:24 عصر
به این نمونه نگاه کنید
فکر کنم بدردتون بخوره.