Foros del Web » Programación para mayores de 30 ;) » .NET »

Actualizar un Control Image en ejecucion

Estas en el tema de Actualizar un Control Image en ejecucion en el foro de .NET en Foros del Web. Hola a todos en este foro! Les comento cual es mi duda, estoy haciendo una pagina en VB.net 2005, lo que hace mi pagina es ...
  #1 (permalink)  
Antiguo 05/08/2011, 12:42
 
Fecha de Ingreso: septiembre-2009
Mensajes: 66
Antigüedad: 15 años, 2 meses
Puntos: 0
Actualizar un Control Image en ejecucion

Hola a todos en este foro!

Les comento cual es mi duda, estoy haciendo una pagina en VB.net 2005, lo que hace mi pagina es sacar un reporte y al darle clic en una referencia te da el detalle de esa operacion y si tiene fotos te permite ver cada una mediante el control image, las fotos estan en un FTP, y como cada operacion puede tener X numero de fotos despliego en un listbox un listado de las fotos y abajo con un boton, al momento que el usuario selecciona una foto y presiona el boton la pagina baja la foto del FTP y la pego en el localhost en la C:\Inetpub\wwwroot\proyecto\temp.jpg y cada que selecciona una voy sobreescribiendo la foto con el mismo nombre en la misma ubicacion y el control Image por defaul le pongo la misma ruta, ahora el problema que tengo es que no me actualiza el control image y se queda la imagen anterior, si alguien sabe como actualizar este control en modo de ejecucion les agradeceria mucho sus aportes, saludoss!
  #2 (permalink)  
Antiguo 08/08/2011, 05:16
Avatar de bieres  
Fecha de Ingreso: marzo-2011
Mensajes: 63
Antigüedad: 13 años, 8 meses
Puntos: 5
Respuesta: Actualizar un Control Image en ejecucion

Hola, no se si he entendido bien lo que quieres, pero lo que se me ocurre es que te crees el evento paint del control de la imagen, ahi es donde cargas la imagen, despues cada vez que quieras actualizar la imagen del control, le haces .visible=false; .visible=true, con eso se disparara el evento paint y te actualizara la imagen.
  #3 (permalink)  
Antiguo 08/08/2011, 09:46
 
Fecha de Ingreso: septiembre-2009
Mensajes: 66
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Actualizar un Control Image en ejecucion

Muchas gracias por tu respuesta "bieres", no se si me pudieras apoyar con un poco mas de informacion del evento paint, de todas formas buscare informacion acerca de este evento que me mencionas, saludos!
  #4 (permalink)  
Antiguo 08/08/2011, 10:30
Avatar de bieres  
Fecha de Ingreso: marzo-2011
Mensajes: 63
Antigüedad: 13 años, 8 meses
Puntos: 5
Respuesta: Actualizar un Control Image en ejecucion

Cita:
Iniciado por hozcarinho Ver Mensaje
Muchas gracias por tu respuesta "bieres", no se si me pudieras apoyar con un poco mas de informacion del evento paint, de todas formas buscare informacion acerca de este evento que me mencionas, saludos!
Hola cuando inicialices componentes:

Declaras el evento paint del pictureBox o el control que uses
Código:
this.pictureBox2.Paint+=new PaintEventHandler(pictureBox2_Paint);
Te creas una variable a nivel clase para asignar la imagen, que en esta variable cargaras tu imagen de tu base de datos o de donde sea.

Código:
static internal Image MiImagen = Properties.Resources._new;
Te creas tu funcion Pait del evento:

Código:
private void pictureBox2_Paint(object o, PaintEventArgs e)
{     
         pictureBox2.Image = MiImagen;
}

Cuando obtengas la imagen nueva (la que quieres poner en tu control):

Código:
MiImaen= //La imagen que quieras o que obtengas;
pictureBox2.Visible = false;
pictureBox2.Visible = true;
Con esto se disparara el evento Paint, entonces te cargara la imagen esa en el control.
  #5 (permalink)  
Antiguo 08/08/2011, 11:04
 
Fecha de Ingreso: septiembre-2009
Mensajes: 66
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Actualizar un Control Image en ejecucion

muchas gracias por tu aporte "bieres", solo una duda lo que pasa es que el web form no puedo utilizar el control picturebox, por lo que utilizo el control image, como puedo utilizar con este control tu ejemplo? y una duda mas tu codigo es en C#?
  #6 (permalink)  
Antiguo 08/08/2011, 17:13
Avatar de bieres  
Fecha de Ingreso: marzo-2011
Mensajes: 63
Antigüedad: 13 años, 8 meses
Puntos: 5
Respuesta: Actualizar un Control Image en ejecucion

Cita:
Iniciado por hozcarinho Ver Mensaje
muchas gracias por tu aporte "bieres", solo una duda lo que pasa es que el web form no puedo utilizar el control picturebox, por lo que utilizo el control image, como puedo utilizar con este control tu ejemplo? y una duda mas tu codigo es en C#?
Hola, si el codigo es C#, creo que el image no tiene ese evento, te adjunto codigo en WPF, con un image,. ahi puedes observar como cambia de imagen al pulsar el boton, es cargar la foto/imagen en el Image.

Código:
<Window x:Class="Imagen.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="396">
    <Grid>
        <Image HorizontalAlignment="Left" Name="image1" Width="388" Margin="0,0,0,49" />
        <Button Content="Button" Height="27" HorizontalAlignment="Left" Margin="153,272,0,0" Name="button1" VerticalAlignment="Top" Width="55" Click="button1_Click" />
    </Grid>
</Window>
Código:
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.IO;
using System.Drawing;
using System.Drawing.Imaging;

namespace Imagen
{
    /// <summary>
    /// Lógica de interacción para MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        private int n = 0;
        public MainWindow()
        {
            InitializeComponent();        
        }

        
        
        public static BitmapImage getBitmap(Bitmap image)
        {
            MemoryStream stream = new MemoryStream();
            image.Save(stream, ImageFormat.Png);
            BitmapImage bmp = new BitmapImage();
            bmp.BeginInit();
            bmp.StreamSource = stream;
            bmp.EndInit();
            return bmp;
        }

        private void button1_Click(object sender, RoutedEventArgs e)
        {
              n += 1;
                if (n == 4)
                {
                    n = 0;
                }
                switch (n)
                {
                    case 0:
                        {
                            image1.Source = getBitmap(Properties.Resources.Colinas_azules);
                            break;
                        }
                    case 1:
                        {
                            image1.Source = getBitmap(Properties.Resources.Invierno);  
                            break;
                        }
                    case 2:
                        {
                            image1.Source = getBitmap(Properties.Resources.Nenúfares);
                            break;
                        }
                    case 3:
                        {
                            image1.Source = getBitmap(Properties.Resources.Puesta_de_sol);
                            break;
                        }
                }
            }   
    }
}
  #7 (permalink)  
Antiguo 10/08/2011, 11:28
 
Fecha de Ingreso: septiembre-2009
Mensajes: 66
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Actualizar un Control Image en ejecucion

Muchisimas gracias por tu ayuda y por tu tiempo "bieres" la verdad no entendi muy bien tu codigo por lo que no me fue posible implementarlo, y segui buscando informacion en internet y encontre algo que va a ayudarme provisionalmente en lo que lo soluciono por codigo, por si a alguien le pudiera ayudar lo que hice fue:

-- En las opciones de Internet Explorer,
-- En la pestaña de "General",
-- En la opcion de "Historial de Configuración" clic en el boton "Configurar" y se abre una nueva ventana
-- Ahi vamos a la opcion de Archivos Temporales de Internet y damos un clic en "Cada vez que visite la pagina Web" y aceptar

Etiquetas: control, ejecucion, image, vb
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:15.