PDA

View Full Version : نمایش فضای درایوها



programerinfonet
چهارشنبه 10 خرداد 1391, 18:32 عصر
دوستان من چه جوری می تونم تو برنامه ام فضای خالی و کلی پارتیشن ها را به شکل نمودار دایره ای نمایش بدم
شبیه به خود ویندوز
از چه کامپونتی باید استفاده کنم

S.Reza
چهارشنبه 10 خرداد 1391, 20:30 عصر
دوستان من چه جوری می تونم تو برنامه ام فضای خالی و کلی پارتیشن ها را به شکل نمودار دایره ای نمایش بدم
شبیه به خود ویندوز
از چه کامپونتی باید استفاده کنم

اگر برای کار دانشجویی نیاز داری کارت رو راه می اندازد اما برای پروژه طرح خوبی نیست از اشکال جذابتر استفاده کنید

private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
DriveInfo info = new DriveInfo(@"c:\");
double TotalSize = info.TotalSize;
double TotalFreeSpace = info.TotalFreeSpace;
double TotalUsed = (info.TotalSize - info.TotalFreeSpace);
double total = (TotalUsed * 360) / TotalSize;
int totalS = Convert.ToInt32(total);
Graphics graph = e.Graphics;
Rectangle rect = new Rectangle(20, 3, 100, 100);
SolidBrush solid = new SolidBrush(Color.Fuchsia);
graph.FillPie(solid, rect, 0, 360);
SolidBrush solid2 = new SolidBrush(Color.Blue);
graph.FillPie(solid2, rect, -180, totalS);
}

programerinfonet
چهارشنبه 10 خرداد 1391, 20:44 عصر
دوست عزیز ضمن تشکر از شما
من واسه یک پروژه حرفه ای می خواستم
کامپونتی فایلی چیزی نیست که من ازش استفاده کنم ؟
ممنون

S.Reza
چهارشنبه 10 خرداد 1391, 21:18 عصر
داخل سیستم نگاه میکنم اگر چیز قابل ارائه ای بود اپلود میکنم

abdullah20
چهارشنبه 10 خرداد 1391, 21:20 عصر
دوست عزیز با ابزار رسم نمودار میتونی این کار را انجام بدی

Mahmoud.Afrad
چهارشنبه 10 خرداد 1391, 21:36 عصر
از قسمت data در تولباکس کنترل chart رو روی فرم قرار بدید. به این صورت میتونید مقدار دهی کنید مثلا
chart1.Series[0].Points.Clear();
chart1.Series[0].ChartType = System.Windows.Forms.DataVisualization.Charting.Se riesChartType.Pie;
chart1.Series[0].Points.AddY(50);
chart1.Series[0].Points[0].LegendText = "C:\\";
chart1.Series[0].Points[0].Label = "C:\\";

chart1.Series[0].Points.AddY(30);
chart1.Series[0].Points[1].LegendText = "D:\\";
chart1.Series[0].Points[1].Label = "D:\\";

chart1.Series[0].Points.AddY(20);
chart1.Series[0].Points[2].LegendText = "E:\\";
chart1.Series[0].Points[2].Label = "E:\\";به جای اعداد مقادیر مورد نظر رو قرار بدید.

Saeed_m_Farid
چهارشنبه 10 خرداد 1391, 21:53 عصر
من واسه یک پروژه حرفه ای می خواستم
چقدر حرفه ای؟ اگه میخوای خودت تو جزئیات درگیر بشی و کار کنی، باید با WMI (http://msdn.microsoft.com/en-us/library/ms186146%28v=vs.80%29.aspx) و DriveInfo (http://msdn.microsoft.com/en-us/library/system.io.driveinfo.aspx) و FileInfo (http://msdn.microsoft.com/en-us/library/system.io.fileinfo.aspx) و ... کار کنی تا بتونی یه پروژه سفارشی درست کنی ولی اگه عجله داری، مثال میخوای، نقطه شروع لازم داری، رئیس زور میگه ... و خلاصه از این بهانه های هموطنی :لبخند: این دوتا پایینی هستن! اولی خوشگله دومی حرفه ای، میتونی ترکیبشون کنی:

1- Listing drives and using pie charts (http://www.geekpedia.com/tutorial136_DriveStat-Listing-drives-and-using-pie-charts.html) :

http://www.geekpedia.com/pics/DriveStat/DriveStat.PNG


2- #Getting Disk Drive Information using WMI and C (http://www.geekpedia.com/tutorial233_Getting-Disk-Drive-Information-using-WMI-and-Csharp.html) :

http://www.geekpedia.com/Pictures/HDDInfo/Application1.png