2012-12-08 155 views
1

這裏是我在form1上的代碼。參數異常未處理

private void flopCards()//view the 2 face down card 
{ 
    string hold1=NumGen.CardGenerator(i) 
     ,hold2=NumGen.CardGenerator(i) 
    ,hold4=NumGen.CardGenerator(i) 
    ,hold5=NumGen.CardGenerator(i); 
    holder1.Image = Image.FromFile(hold1, true); 
    holder2.Image = Image.FromFile(hold2, true); 

}  

private void button1_Click(object sender, EventArgs e) 
{ 
    Controls.Remove(button1); 
    player(); 
    bot1(); 
    GrpBx(); 
    Get3rd.Click += new EventHandler(Get3rd_Click); 
    check.Click += new EventHandler(check_Click); 
} 

void check_Click(object sender, EventArgs e) 
{ 
    flopCards(); 
} 

我想要完成的任務是,當我點擊確定按鈕我持有人的照片將用卡代替。有沒有地方在錯誤列表中顯示的錯誤,但是當我嘗試運行並點擊按鈕我得到的是一個彈出窗口,它說「參數異常未處理的路徑不是合法的形式」

請幫助我!

+0

聽起來像你的程序無法找到你的硬盤上的文件。將它傳遞給Image.FromFile()時,「hold1」字符串的值是多少?有可能這不是一個有效的途徑。 – Joe

+0

該文件位於項目的同一文件夾中。 –

+0

有些東西你在說,這讓我相信你應該閱讀更多關於程序化的基礎知識。你說「錯誤列表中沒有顯示任何錯誤」 - 但你提到的錯誤列表基本上確保你的語法是正確的。這並不意味着你的應用程序一旦編譯就會運行。他們是兩個非常獨立的東西。 – Joe

回答

0

試試這個:

string hold1=NumGen.CardGenerator(i); 
try 
{ 
    if (File.Exists(hold1)) 
     Console.WriteLine("The file {0} was found.", hold1); 
    else 
     Console.WriteLine("Error: The file {0} cannot be found", hold1); 
} 
catch (ArgumentException ex) 
{ 
    Console.WriteLine("I don't understand the path you supplied."); 
    Console.WriteLine(ex.Message); 
    Console.WriteLine(ex.ToString()); 
} 

運行程序並檢查輸出窗口。希望它能幫助你理解你爲什麼不能訪問你的圖像。

+0

file.exists代碼不工作在我的程序...即時通訊使用windows.forms btw –

+0

Winforms沒有任何關係。如果找不到File.Exists,請添加「using System.IO;」到類文件的頂部。 – Joe