Saltar al contenido

Cargue una imagen de mapa de bits en Windows Forms mediante el cuadro de diálogo Abrir archivo

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.Imagepropiedad 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 a Fill (si desea que la imagen llene el formulario)
  • Colocar SizeMode de cuadro de imagen a StretchImage

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.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *