Después de investigar en diversos repositorios y foros al terminar hemos hallado la solución que te enseñamos pronto.
Solución:
Tienes que crear una instancia de la Bitmap
clase, utilizando la sobrecarga del constructor que carga una imagen desde un archivo en el disco. Como su código está escrito ahora, está tratando de usar el PictureBox.Image
propiedad como si fuera un método.
Cambie su código para que se vea así (también aprovechando el using
declaración para garantizar la eliminación adecuada, en lugar de llamar manualmente al Dispose
método):
private void button1_Click(object sender, EventArgs e)
// Wrap the creation of the OpenFileDialog instance in a using statement,
// rather than manually calling the Dispose method to ensure proper disposal
using (OpenFileDialog dlg = new OpenFileDialog())
dlg.Title = "Open Image";
dlg.Filter = "bmp files (*.bmp)
Por supuesto, eso no va a monitor la imagen en cualquier lugar de su formulario porque el control de cuadro de imagen que ha creado no se ha agregado al formulario. Debe agregar el nuevo control de cuadro de imagen que acaba de crear al formulario Controls
colección usando el Add
método. Tenga en cuenta la línea agregada al código anterior aquí:
private void button1_Click(object sender, EventArgs e)
using (OpenFileDialog dlg = new OpenFileDialog())
*.bmp";
if (dlg.ShowDialog() == DialogResult.OK)
PictureBox PictureBox1 = new PictureBox();
PictureBox1.Image = new Bitmap(dlg.FileName);
// Add the new control to its parent's controls collection
this.Controls.Add(PictureBox1);
Funciona bien. Prueba esto,
private void addImageButton_Click(object sender, EventArgs e)
OpenFileDialog of = new OpenFileDialog();
//For any other formats
of.Filter = "Image Files (*.bmp;*.jpg;*.jpeg,*.png)
Deberías intentar:
- Cree el cuadro de imagen visualmente en forma (es más fácil)
- Colocar
Dock
propiedad de picturebox aFill
(si desea que la imagen llene el formulario) - Colocar
SizeMode
de cuadro de imagen aStretchImage
Por fin:
private void button1_Click(object sender, EventArgs e)
*.bmp";
if (dlg.ShowDialog() == DialogResult.OK)
PictureBox1.Image = Image.FromFile(dlg.Filename);
dlg.Dispose();
Te invitamos a confirmar nuestra tarea exponiendo un comentario y dejando una valoración te damos las gracias.