2013-11-20 32 views
0

嗨,大家想知道是否有人可以幫我解決這個問題,現在我已經用c#玩了幾個星期了,所以我仍然是一個處女,我一直在使用fileinfo構造函數,我想在圖像/音頻文件/視頻文件(我正在構建基本媒體播放器)下面的標籤中顯示kb文件的大小,這裏是代碼我至今對這個問題:c#在一個標籤中顯示一個以kB爲單位的文件的大小

公共無效GetFileSize(字符串文件名){

 FileInfo fs = new FileInfo (FileName); 
     long filesize = FileName.Length/1024; 

     /*string filesize = System.Convert.ToString(size);*/ 
     picFileSizeLabel.Text = System.Convert.ToString(filesize); 


    } 

出於某種原因,該標籤只顯示0,當我將其更改爲「LO NG文件大小= FileName.Length」,不除以1024,我收到了51或55,有時在標籤中顯示,任何幫助或意見,可以理解

回答

1

問題:您正在試圖讓FileName Length代替File Length

解決方法1
此:

long filesize = FileName.Length/1024; 

應該是:

long filesize = fs.Length/1024; 

最後應該是這樣的:

FileInfo fs = new FileInfo (FileName); 
long filesize = fs.Length/1024; 

解決方案2:在末尾添加KBfilesize

picFileSizeLabel.Text = System.Convert.ToString(filesize)+"KB"; 
+0

致謝!現在我只需要在kb – user3014192

+0

@ user3014192中顯示它:好吧.Length以字節爲單位給你,所以如果你的/ 1024你會得到KB的權利? –

+0

是的,它工作正常,完美地顯示文件大小,我只是想說它「826kb」,而不是「826」, – user3014192

相關問題