PDA

View Full Version : مبتدی: دایرکتوری های یک درایو



nastaran_s
یک شنبه 04 دی 1390, 17:37 عصر
سلام. من می خواهم دایرکتوری های هر درایو را با توجه به انتخاب درایو موردنظر از کامبو باکس در listBox نشون بدم کاری که تونستم انجام بدم

79694

که البته خیلی مبتدی است می خواهم از treeView استفاده کنم شبیه این

79695

با treeView کار نکردم. می خوام با انتخاب هر دایرکتوری ، دایرکتوری های زیر مجموعه اش هم نمایش داده بشه و برای اینکه عکس درایور ها کنار نام درایو در کامبوباکس نمایش داده بشه چکار کنم. ممنون

uniqueboy_ara
یک شنبه 04 دی 1390, 18:14 عصر
این پروژه رو چند وقت پیش واسه کار با treeView نوشتم!
خیلی میتونه بهت کمک کنه، تقریبا تمام چیزایی که لازم داری توش هست

Mohammad_chz
یک شنبه 04 دی 1390, 19:09 عصر
شما چرا از کنترل FolderBrowserDialog استفاده نمی کنید؟

تمام امکانات استاندارد ویندوز را دارد.

abdullah20
یک شنبه 04 دی 1390, 19:36 عصر
http://barnamenevis.org/showthread.php?262906-%DA%86%DA%AF%D9%88%D9%86%DA%AF%DB%8C-%D9%86%D9%85%D8%A7%DB%8C%D8%B4-%D9%81%D8%A7%DB%8C%D9%84-%D9%87%D8%A7-%D9%88-%D9%81%D9%88%D9%84%D8%AF%D8%B1-%D9%87%D8%A7-%D8%AF%D8%B1-TreeView&highlight=%D9%86%D9%85%D8%A7%DB%8C%D8%B4+%D8%AF%D8 %A7%DB%8C%D8%B1%DA%A9%D8%AA%D9%88%D8%B1%DB%8C+%D9% 87%D8%A7+%D8%AF%D8%B1+treeView

nastaran_s
دوشنبه 19 دی 1390, 09:19 صبح
سلام . با کمک دوستان تونستم ساختار درختی دایرکتوری ها رو ایجاد کنم مشکلی که دارم اینه که برنامه تو ویندوز xp اجرا می شه اما تو ویندوز 7 وقتی درایو c رو انتخاب می کنم به مسیر C:\Windows\CSC که می رسه حاوی پوشه ای(v2.0.6) که نیاز به permision داره و برنامه متوقف می شه و error میده ! سوالم اینه برای پوشه و فایل های سیستمی که نیاز permision دارن چه کدی اضافه کنم ؟


private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
String Path = comboBox1.SelectedItem.ToString();

DriveInfo drvList = new DriveInfo(Path);
if (drvList.IsReady == true)
{
treeView1.Nodes.Clear();
TreeNode parent = new TreeNode();
parent.Text = drvList.RootDirectory.ToString();
parent.Tag = drvList.RootDirectory;

treeView1.Nodes.Add(parent);

Fill(drvList.RootDirectory.ToString(), parent);
}

else
{
MessageBox.Show("درایو" + drvList.Name + "قابل دسترس نیست", "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}


}

public void Fill(string dir, TreeNode dirNode)
{
DirectoryInfo dr = new DirectoryInfo(dir.ToString());
DirectoryInfo[] drList = dr.GetDirectories();
foreach (DirectoryInfo drItem in drList)
{
if ((File.GetAttributes(drItem.FullName) & FileAttributes.Hidden) != FileAttributes.Hidden)
{

TreeNode node = new TreeNode(drItem.Name);
node.Tag = drItem.FullName;
node.ImageIndex = 0;
node.SelectedImageIndex = 1;
dirNode.Nodes.Add(node);

Fill(drItem.FullName, node);
}

}
}