こんにちは、ドライブのリスト、容量、空きサイズを提供するコードを書きます。次のように、各ドライブのサイズに応じて円グラフを描画したい:
ここに私がこれまでに持っているコードがあります - サイズの値は freeSize および fullSize 変数にあります
string[] drivers = new string[5];
int freeSize;
int fullSize;
private void Form1_Load(object sender, EventArgs e)
{
foreach (var item in System.IO.Directory.GetLogicalDrives())
{
int i = 0;
drivers[i] = item;
comboBox1.Items.Add(drivers[i]);
++i;
}
}
private void btnSorgula_Click(object sender, EventArgs e)
{
string a = comboBox1.Items[comboBox1.SelectedIndex].ToString();
System.IO.DriveInfo di = new System.IO.DriveInfo(a);
if (!di.IsReady)
{
MessageBox.Show("not ready");
return;
}
decimal freeByt= Convert.ToDecimal(di.TotalFreeSpace);
decimal freeGb = freeByt / (1024 * 1024*1024);
label1.Text = freeGb.ToString();
freeSize = Convert.ToInt32(freeGb);
decimal totalByt = Convert.ToDecimal(di.TotalSize);
decimal tottalGb = totalByt / (1024 * 1024 * 1024);
label2.Text = Convert.ToString(tottalGb);
fullSize = Convert.ToInt32(tottalGb);
}
private void Form1_Paint(object sender, PaintEventArgs e)
{
Graphics g = e.Graphics;
Rectangle rect = new Rectangle(10, 10, 100, 100);
g.FillPie(Brushes.Black, rect, fullSize, fullSize / freeSize);
g.FillPie(Brushes.RoyalBlue, rect, 140, 100);
}