PDA

View Full Version : سوال: لیست هارد درایوها به صورت درختی در برنامه



mehdi592
پنج شنبه 13 خرداد 1389, 08:02 صبح
با سلام دوسان میخوام تو برناممم یه قسمت باشه که لیست درایو ها را به صورت درختی با پوشه های زیرشون نشون بده ممنون میشم راهنمایی بفرمائید
با تشکر

M.YasPro
پنج شنبه 13 خرداد 1389, 09:00 صبح
سلام
یه treeview به فرمتون اضافه کنید و تو لود فرم اینو بنویسید


string[] drives = System.IO.Directory.GetLogicalDrives();
foreach (string drive in drives)
{
treeView1.Nodes.Add(new TreeNode(drive));
}


با جستجو سریعتر به جوابتون میرسید .
موفق باشید .

mehdi592
پنج شنبه 13 خرداد 1389, 16:15 عصر
سلام
یه treeview به فرمتون اضافه کنید و تو لود فرم اینو بنویسید


string[] drives = System.IO.Directory.GetLogicalDrives();
foreach (string drive in drives)
{
treeView1.Nodes.Add(new TreeNode(drive));
}
با جستجو سریعتر به جوابتون میرسید .
موفق باشید .

با تشکر از شما میخوام لیست مثلا فولدر های کلیه درایو ها مثلا درایو c که روش کلیک میکنه به صورت + باز بشه و نشون داده بشه ممنون میشم راهنمایی کنید

M.YasPro
پنج شنبه 13 خرداد 1389, 16:53 عصر
private void Form3_Load(object sender, EventArgs e)
{
string[] drives = System.IO.Directory.GetLogicalDrives();
foreach (string drive in drives)
{
treeView1.Nodes.Add(new TreeNode(drive));
}
bindtree();
}
private void bindtree()
{
try
{
foreach (TreeNode node in treeView1.Nodes)
{
foreach (string folder in System.IO.Directory.GetDirectories(node.Text))
{
node.Nodes.Add(folder);
}
}
}
catch { }
}

mehdi592
پنج شنبه 13 خرداد 1389, 20:51 عصر
privatevoid Form3_Load(object sender, EventArgs e)
{
string[] drives = System.IO.Directory.GetLogicalDrives();
foreach (string drive in drives)
{
treeView1.Nodes.Add(newTreeNode(drive));
}
bindtree();
}
privatevoid bindtree()
{
try
{
foreach (TreeNode node in treeView1.Nodes)
{
foreach (string folder in System.IO.Directory.GetDirectories(node.Text))
{
node.Nodes.Add(folder);
}
}
}
catch { }
}


با سپاس فراروان
میشه یه توضیح راجع این قسمت کد بدید:

foreach (TreeNode node in treeView1.Nodes)و اینکه من کد ها را وارد میکنم برنامه عمل یکنه ولی باز همون فقط لیست درایو هارا میاره و فولدرهای توش نیست و قسمت catch اجرا میشه
ممنون میشم اگه خود برنامه را آپلود کنید سپاس

M.YasPro
شنبه 15 خرداد 1389, 10:33 صبح
اجرا نشدنش به خاطر این هست که شما احتمالا درایو فلاپی دارید و کد هنگامی که می خواد فولدرهای داخل درایو فلاپی رو پیمایش کنه با ارور drive not found مواجه میشه و به catch میره ، چون داخل درایو فلاپی چیزی وجود نداره .



میشه یه توضیح راجع این قسمت کد بدید:
کد HTML:
foreach (TreeNode node in treeView1.Nodes)

این کد درون treView.Nodes رو پیمایش می کنه و تک تک نود های tree رو در دسترستون قرار میده .

شما می تونید دو نمونه خوب رو در اینجا (http://www.codeproject.com/KB/tree/persisting_treeviews.aspx)و اینجا (http://www.codeproject.com/KB/tree/foldertreeview.aspx)ببینید .
موفق باشید .