//Clase secundaria que recupera las imágenes de la BD
//y las almacena en un ImageList
class RellenarImagenes
{
private ImageList im;
//Constructor
public RellenarImagenes()
{
this.im.ColorDepth = System.Windows.Forms.ColorDepth.Depth32Bit;
this.im.ImageSize = new System.Drawing.Size(256,
150); this.im.TransparentColor = System.Drawing.Color.Transparent;
}
//Devuelve el ImageList
public ImageList devuelveImageList()
{
return this.im;
}
//Rellena el ImageList con las fotos de los productos de la BD
public void rellenaImageList()
{
String strSQL = "SELECT * FROM xxxImagenes";
OleDbConnection cnn
= new OleDbConnection
(); cnn.ConnectionString = cadenaConexion;
cnn.Open();
OleDbCommand sentencia
= new OleDbCommand
(strSQL, cnn
); OleDbDataReader objReader = sentencia.ExecuteReader();
while (objReader.Read())
{
Image imagen
= new Bitmap
(objReader
[1].ToString()); im.Images.Add(imagen);
}
}
}//Fin Clase RellenarImagenes
//Este metodo se encuentra dentro de la clase principal, es el que crea el
//hilo secundario para llamar al metodo de rescatar las imagenes de la BD y
//meterlas en el el ImageList
private void cargaImageList()
{
//Instanciamos la clase
RellenarImagenes ri
= new RellenarImagenes
(); //Asignamos el ImageList devuelto a el atributo ImageList de la
//clase principal.
this.imageList1 = ri.devuelveImageList();
//Lanzamos el nuevo hilo.
Thread th
= new Thread
(new ThreadStart
(ri
.rellenaImageList)); th.Start();
}