2013-05-15 11 views
5

Voglio creare un modulo di Windows che prende l'immagine dal file e visualizza nella pictureBox in C# ho problemi quando digito image.FromFile dopo "=" il FromFile ottiene la sottolineatura rossa come se non consiste nella libreria..FromFile sottolineato rosso e che mostra l'errore

1 using System; 
2 using System.Collections.Generic; 
3 using System.ComponentModel; 
4 using System.Data; 
5 using System.Drawing; 
6 using System.Linq; 
7 using System.Text; 
8 using System.Windows.Forms; 
9 using System.IO; 
10 
11 namespace demo2 
12 { 
13  public partial class Image : Form 
14  { 
15  public Image() 
16   { 
17    InitializeComponent(); 
18   } 
19 
20   
21 
22   private void button1_Click(object sender, EventArgs e) 
23   { 
24    OpenFileDialog ofd = new OpenFileDialog(); 
25    ofd.Filter = "image files|*.png;*.jpg;*.gif"; 
26    DialogResult dr = ofd.ShowDialog(); 
27 
28    if (dr == DialogResult.Cancel) 
29     return; 
30 
31    pictureBox1.Image = Image.FromFile(ofd.FileName); 
32    textBox1.Text = ofd.FileName; 
33   } 
34       
35  } 
36 } 

risposta

8

La classe si chiama Image, che è in collisione con sistema definito Image che si desidera utilizzare. Pertanto, quando si tenta di utilizzare Image.FromFile, il compilatore utilizza quello definito nel proprio spazio dei nomi (nella propria classe) e non è definito alcun metodo FromFile.

Quindi, quando si desidera utilizzare corretta Image classe:

1) si dovrebbe qualificare lo spazio dei nomi come: System.Drawing.Image.FromFile

o

2) è possibile rinominare la propria classe a qualcosa di diverso da Image , quindi non hai nessuna collisione nel nome

+0

puoi per favore modificare il codice per me o dirmi la linea in cui è necessario modificare il codice. –

+1

riga 31: 'pictureBox1.Image = System.Drawing.Image.FromFile (ofd.FileName);' – sasjaq

+0

grazie mille caro ha funzionato ... davvero grazie mille ... :-) –

Problemi correlati