2013-10-05 12 views
6

Chciałem wyświetlić obraz w formularzach systemu Windows, ale już to zrobiłem i obraz nie został wyświetlony.Wyświetl obraz w formularzach okienkowych

Gdzie popełniłem błąd?

Oto kod:

private void Images(object sender, EventArgs e) 
{ 
    PictureBox pb1 = new PictureBox(); 
    pb1.Image = Image.FromFile("../SamuderaJayaMotor.png"); 
    pb1.Location = new Point(100, 100); 
    pb1.Size = new Size(500, 500); 
    this.Controls.Add(pb1); 
} 
+0

nic złego w kodzie pisał, że możemy zobaczyć lub czekiem. Napisz więcej kodu. –

Odpowiedz

0

Może być wiele powodów. Kilka, które szybko przyszło mi do głowy:

  1. Czy nazwałeś to rutynowym PO InitializeComponent()?
  2. Czy używana ścieżka zapisu jest poprawna? Czy to działa, jeśli spróbujesz go w debugerze? Spróbuj użyć ukośnika odwrotnego (\) zamiast Slasha (/) i zobacz.
  3. Może to być spowodowane działaniami niepożądanymi innego kodu w twoim formularzu. Spróbuj użyć tego samego kodu w pustym formularzu (tylko z konstruktorem i tą funkcją) i sprawdź.
7
tam

Tutaj (http://www.dotnetperls.com/picturebox) 3 sposoby, aby to zrobić:

  • jak robisz.
  • Korzystanie nieruchomość ImageLocation z PictureBox lubię:

    private void Form1_Load(object sender, EventArgs e) 
    { 
        PictureBox pb1 = new PictureBox();    
        pb1.ImageLocation = "../SamuderaJayaMotor.png"; 
        pb1.SizeMode = PictureBoxSizeMode.AutoSize; 
    } 
    
  • Używanie obrazu z sieci jak:

    private void Form1_Load(object sender, EventArgs e) 
    { 
        PictureBox pb1 = new PictureBox();    
        pb1.ImageLocation = "http://www.dotnetperls.com/favicon.ico"; 
        pb1.SizeMode = PictureBoxSizeMode.AutoSize; 
    } 
    

i proszę pamiętaj, że”../SamuderaJayaMotor. png "jest poprawną ścieżką obrazu, którego używasz.

+0

hai zwycięzca crespo, już to zrobiłem i obraz został załadowany do formularza, ale obraz nic nie pokazał, wystarczy wpisać "x", już sprawdziłem plik nazwy i zmieniam ścieżkę na "SamuderaJayaMotor.png" i umieść ten obraz w folderze projektu, ale po uruchomieniu nadal jest wyświetlany znak "x" – Kaoru

+1

Udowodniłem, a problemem jest ścieżka. Być może możesz udowodnić, używając "../../SamuderaJayaMotor.png", ponieważ jeśli używasz System.Windows.Forms.Application.StartupPath i debugowania zobaczysz, że StartupPath to "bin/debug /", to musisz iść z powrotem dwa foldery. –

+0

Możesz zobaczyć przykład tutaj https://github.com/wistcc/Stackoverflow-answers/tree/master/DisplayImage –

1

wyświetlać obrazy w Windows Forms, kiedy kładę go w przypadku obciążenia tak:

private void Form1_Load(object sender , EventArgs e) 
    { 
     pictureBox1.ImageLocation = "./image.png"; //path to image 
     pictureBox1.SizeMode = PictureBoxSizeMode.AutoSize; 
    } 
Powiązane problemy