2014-05-25 56 views
0

如何打開,選擇和添加c#中的表單中的一個唯一的jpeg格式文件從計算機的任何目錄?這是代碼。打開,選擇並添加一個表格內的.jpg文件

private void open2ToolStripMenuItem_Click(object sender, EventArgs e) 
{ 
    pictureBox1.Visible = true; 
    string Chosen_File = "";  
    Chosen_File = openFileDialog1.FileName;   
    openFileDialog1.Title = "Insert an image"; 
    openFileDialog1.InitialDirectory = System.Environment.GetFolderPath(Environment.SpecialFolder.Personal); 
    openFileDialog1.FileName =""; 
    openFileDialog1.Filter = "JPEG Images|*.jpg|GIF Images|*.gif|All Files|"; 
    openFileDialog1.ShowDialog(); 
    if (openFileDialog1.ShowDialog() != DialogResult.Cancel) 
    { 
     Chosen_File = openFileDialog1.FileName; 
     pictureBox1.Image = Image.FromFile(Chosen_File); 

    } 
} 
+0

其只能打開格式圖片不加載裏面的形式 – user3668974

+0

任何人都可以幫忙嗎? – user3668974

+0

我沒有看到你的代碼中的任何問題,它的工作原理 – Sajeetharan

回答

1

只是刪除第一openFileDialog1.ShowDialog()

private void button1_Click(object sender, EventArgs e) 
    { 
     pictureBox1.Visible = true; 
     string Chosen_File = ""; 
     Chosen_File = openFileDialog1.FileName; 
     openFileDialog1.Title = "Insert an image"; 
     openFileDialog1.InitialDirectory = System.Environment.GetFolderPath(Environment.SpecialFolder.Personal); 
     openFileDialog1.FileName = ""; 
     openFileDialog1.Filter = "JPEG Images|*.jpg|GIF Images|*.gif|All Files|"; 
     //openFileDialog1.ShowDialog(); 
     if (openFileDialog1.ShowDialog() != DialogResult.Cancel) 
     { 
      Chosen_File = openFileDialog1.FileName; 
      pictureBox1.Image = Image.FromFile(Chosen_File); 

     } 
    } 

Exept這一點,你的代碼運作良好!

+0

工作正常,但當我把圖片框放在中間,它不會顯示圖像 – user3668974

+0

你的意思是把圖片框放在中間嗎? –

+0

我正在製作一個油漆盒,它工作正常,我用一個窗體內的面板,當我點擊新的菜單,它完全顯示面板框,但同樣的情況下,我也使用文本框相同重疊面板時,我點擊文本編輯器按鈕,它不會顯示編輯器在中間面板也放置,但是當我把文本框放在右側它將顯示文本框,與圖片框相同的問題。 – user3668974

1

你有一個openFileDialog1.ShowDialog();很多。刪除第一個,然後使用if子句中的那個!然後if子句在顯示對話框後使用結果。我還傾向於明確檢查DialogResult.OK,但這應該沒有區別。

您的代碼顯示兩次對話框窗口,不是嗎? (它當然可以!)如果您選擇要在第一個對話框中顯示的圖像,您將再次獲得對話框,然後必須在此處確認。如果您取消第二個對話框,則不會顯示。

結果即用戶的選擇只從Show()中直接返回;如果你不抓住它,它就會丟失!這是從選擇的內容不同,對話框(如文件名),它都在那裏算賬的領域..

+0

我不知道你在說什麼:( – user3668974

+0

'openFileDialog1.ShowDialog(!);如果 (openFileDialog1.ShowDialog()=的DialogResult .Cancel)'你打開/顯示filedialog兩次! – TaW

相關問題