none
no muestra la imagen al recorrer un boton dinamico RRS feed

  • Pregunta

  • hola buenas tardes programadores tengo aplicacion en visual studio 2015 y sql server 2014 tengo un formulario

    que muestra botones dinamicos segun la consulta eso esta bien mi problema se genera cuando quiero mostrar una foto del boton

    por emplo boton panaderia deberia mostarme un pan 

    tengo el campo foto en el tabla producto

    debria mostar el nombre y la foto en el boton dinamico

    al recorrer el codigo me aparece como nulo 

     private void LlenaPanel2()
            {
    
                 cargardatos();
              
                 ListaProductos = objProducto.GetAllActivosPanaderia(46);
                 PanelPanaderia.Controls.Clear();
                   
                
                locP.Y = 10;
                locP.X = 10;
    
                TotP = ListaProductos.Count;
                BtnP = new Button[TotP];
                for (int k = 0; k < TotP; k++)
                {
                    if (k == 5 || k == 10 || k == 15 || k == 20 || k == 25 || k == 30 || k == 35 || k == 40 || k == 45 || k == 50)
                    {
                        locP.Y += 90;
                        locP.X = 10;
                    }
                    BtnP[k] = new Button();
                    BtnP[k].Size = new Size(100, 60);
                    BtnP[k].Text = ListaProductos[k].NombreProducto;
                    BtnP[k].Tag = ListaProductos[k].IdProducto;
                    BtnP[k].ForeColor = Color.White;
                    MemoryStream ms = new MemoryStream(ListaProductos[k].Foto); //erro me dice nulo
                    BtnP[k].Image = Image.FromStream(ms);
                    BtnP[k].Image = new Bitmap(BtnP[k].Image, BtnP[k].Size);
    
    
                    BtnP[k].Location = locP;
                   
                    BtnP[k].TabStop = false;
                    locP.X += 155;
    
                    BtnP[k].Click += (object p, EventArgs ak) =>
                    {
                        dynamic Pt = (Button)p;
    
                        DetalleVentaDTO eDeta = new DetalleVentaDTO();
                        PRODUCTO eProd = new PRODUCTO();
    
                        eProd = objProducto.GetByID(Convert.ToInt32(Pt.Tag));
                        if (eProd != null)
                         // resto codigo
                            
                        }
    
    
                    };
                }
               
                        PanelPanaderia.Controls.AddRange(BtnP);
                      
                
    
            }

    miércoles, 15 de mayo de 2019 17:02

Respuestas


  • Hola inserta una condicion

    if((ListaProductos[k].Foto!=null) { MemoryStream ms = new MemoryStream(ListaProductos[k].Foto); //erro me dice nulo BtnP[k].Image = Image.FromStream(ms); BtnP[k].Image = new Bitmap(BtnP[k].Image, BtnP[k].Size);

    }




    • Editado Marti Llam jueves, 16 de mayo de 2019 1:24
    • Marcado como respuesta djnilo jueves, 16 de mayo de 2019 1:47
    jueves, 16 de mayo de 2019 1:24

Todas las respuestas


  • Hola inserta una condicion

    if((ListaProductos[k].Foto!=null) { MemoryStream ms = new MemoryStream(ListaProductos[k].Foto); //erro me dice nulo BtnP[k].Image = Image.FromStream(ms); BtnP[k].Image = new Bitmap(BtnP[k].Image, BtnP[k].Size);

    }




    • Editado Marti Llam jueves, 16 de mayo de 2019 1:24
    • Marcado como respuesta djnilo jueves, 16 de mayo de 2019 1:47
    jueves, 16 de mayo de 2019 1:24
  • eres un genio gracias martin llam me sirvió 
    jueves, 16 de mayo de 2019 1:48