DriveInfo.AvailableFreeSpaceとDriveInfo.TotalSizeの値を分割して、プログレスバーで使用するパーセンテージを取得しようとしています。
progressbar.valueにはintが必要であり、上記のメソッドはlongを返すため、終了値をintにする必要があります。
私はこれを値として持っています:
164660715520 --- AvailableFreeSpace
256058060800 --- TotalSize
このメソッドを使用してprogressbar.valueを設定しようとすると、エラーも発生します。
progressBar1.Value =(int)(dInfo.AvailableFreeSpace / dInfo.TotalSize)* 100;
このコードを使用して値を取得しようとすると、0が返されます。
label10.Text = (((int)dInfo.AvailableFreeSpace/dInfo.TotalSize)*100).ToString();
私もこれを試しましたが、機能しません:
label10.Text = ((dInfo.AvailableFreeSpace/dInfo.TotalSize)*100).ToString();
見栄えを良くするためにまだフォーマットを行う必要があることはわかっていますが、コードを実行すると0が返されます。
longからintへの変換と関係がありますか?