2014-10-07 178 views
0

所以,我終於得到了我的代碼工作的方式我想...但..只允許8個字符

在下降,我想要的文件的標題下降的MessageBox.Show顯示。

我讓它工作......但我只能讀取最多8個字符。它將顯示標題完美的任何標題8個字符或更少。

超過8個字符的任何字符顯示爲全部大寫字母,並在末尾有〜1個字符。 示例:文件名稱Penguins.jpg將顯示「企鵝」。文件名稱Penguinsarecool.jpg將顯示「PENGUI〜1」。

這裏是一個事先知情同意:

enter image description here

請讓我知道如果你需要任何其他信息。 我感謝你的幫助!

這裏是我的代碼:

public void B1_DragDrop(object sender, DragEventArgs e) 
    { 
     string B1fileName = ((string[])((DataObject)e.Data).GetData("FileName"))[0]; 
     string B1result = Path.GetFileNameWithoutExtension(B1fileName); 
      MessageBox.Show(B1result); 
    } 
+0

好奇'新的FileInfo(B1fileName).Name'你會得到.. – 2014-10-07 18:43:46

+0

@ crlic306,我看你在計算器問其他問題,您正在使用有提取文件名的正確方法,就像我在下面建議的一樣。那麼爲什麼你改變你的代碼並尋求幫助? – 2014-10-07 19:28:36

回答

2

嘗試DataFormats.FileDrop代替"FileName"作爲GetData參數。它指定Windows文件放置格式。這應該工作:如果你沒有

public void B1_DragDrop(object sender, DragEventArgs e) 
{ 
    string B1fileName = ((string[])e.Data.GetData(DataFormats.FileDrop))[0]; 
    string B1result = Path.GetFileNameWithoutExtension(B1fileName); 
    MessageBox.Show(B1result); 
} 
+0

當我最初嘗試過你的建議時,「路徑」。保持錯誤...所以我一直嘗試不同的方法。然後我知道你需要***「使用System.IO」才能使用Path。正常工作。剛剛嘗試過您的修改(再次),它完美的工作!謝謝! – crlic306 2014-10-07 19:47:44