none
Cómo crear un buscador en C# RRS feed

  • Pregunta

  • Buenas, he estado buscando por distintos lados y no puedo encontrar lo siguiente:

    Estoy trabajando en C# y MySQL y en mi programa necesito un buscador donde todos los registros relacionados en la búsqueda me los imprima en un recuadro (pues tiene una imagen relacionada con cada registro), pero antes de meterme en tanto lío con la base de datos estoy haciendo una prueba pero ni siquiera tengo una idea de cómo hacer este buscador de imágenes.

    Bueno, lo que necesito es hacer un buscador parecido al explorador de imágenes de Windows, donde me imprima todo lo que necesito y al dar clic en una imagen me la imprima en otro formulario.

    Espero haberme explicado correctamente, gracias.

    domingo, 28 de febrero de 2016 17:15

Respuestas

  • Hola a todos, ya pude solucionarlo y de hecho fue más simple de lo que pensé jajajaja

    Bueno, aunque aún no me meto en cuestión de MySQL, pero eso ya lo domino un poco, lo que necesitaba solucionar era el problema de los PictureBox y lo hice así:

    namespace Pruebas
    {
        public partial class Form1 : Form
        {
            //Creamos la variable de los Picture Box
            PictureBox imgPB1 = new PictureBox();
            PictureBox imgPB2 = new PictureBox();
    
            public Form1()
            {
                InitializeComponent();
    
                //Damos lo datos para cada PictureBox en el form
                imgPB1.Location = new System.Drawing.Point(30, 30);
                imgPB2.Location = new System.Drawing.Point(30, 190);
    
                imgPB1.SizeMode = PictureBoxSizeMode.StretchImage;
                imgPB2.SizeMode = PictureBoxSizeMode.StretchImage;
    
                imgPB1.Image = Image.FromFile("C:/imgs/img1.jpg");
                imgPB2.Image = Image.FromFile("C:/imgs/img2.jpg");
    
                Controls.Add(imgPB1);       imgPB1.Visible = true;
                Controls.Add(imgPB2);       imgPB2.Visible = true;
            }
        }
    }
    

    Lo que hice fue crear los PictureBox en tiempo de ejecución, de hecho fue mas simple de lo que pensé...

    Y en cuanto al ScrollBar... fue un lío para encontrar una solución, buscaba videos, foros y por todos lados, hasta que en las propiedades del formulario había una parte que decía "AutoScroll" que estaba en false, lo único que tenía que hacer era cambiarlo a true jajajajaja

    Muchas gracias de todos modos :)

    sábado, 12 de marzo de 2016 17:05

Todas las respuestas

  • hola

    pero el buscador seria contra una tabla en mysql ?

    porque si es asi simplemente usaras ado.net definiendo filtros contra los campos que quieras aplicar la busqueda

    DataTable dt = new DataTable();   
    using (MySqlConnection conn = new MySqlConnection("connection string"))   
    {   
        string query = "select * from <tabla> WHERE campo = ?param";   
     
        MySqlCommand cmd = new MySqlCommand(query, conn);   
        cmd.Parameters.AddWithValue("?param", txtBusqueda.Text);   
     
        MySqlDataAdapter da = new MySqlDataAdapter(cmd);     
        da.Fill(dt);   
    } 
     
    DataGridView1.DataSource = dt;

    alli filtro por un campo usando las librerias de ado.net para mysql

    la pregunta seria, conoces sobre ado.net ?

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    lunes, 29 de febrero de 2016 8:00
  • Hola, bueno de hecho no conozco ado.net jajaja

    Creo que hice mal mi pregunta:

    Entiendo lo que me mandaste en el código, pero lo que yo quiero en realidad es algo mas estético, no tanto el cómo programarlo, sabes?

    Lo que tengo (o almenos se cómo hacer) es buscar en la base de datos los registros relacionados con un término, osea si busco en una tabla los registros con un precio de $5 me los puede imprimir...

    Ahora lo que quiero saber es cómo usar x numero de PictureBox para imprimir la imágen de cada producto, es decir: si hay 10 productos con precio de $5 voy a buscar la imágen de cada producto en mi computadora (eso también lo se hacer) e imprimir cada imagen en un PictureBox diferente. De manera que si son 10 productos serian 10 imágenes, las cuales imprimiría en filas de 3 para dar una mejor vista y seleccionar después el producto que quiero. PERO, cuando yo busque productos de $10 y haya solo 4 productos, haga el mismo procedimiento que para los 10 productos e imprima las 4 imágenes en los 4 PictureBox pero sin que el diseño se afecte (es decir, que no me aparezcan los otros 6 PictureBox vacios ni la ScrollBar si fuese necesaria)...

    Espero haberme dado a entender, la verdad, como no se ni cómo hacerlo no se ni siquiera explicarlo

    viernes, 11 de marzo de 2016 19:24
  • Estuve investigando un poco más acerca del tema y creo que ya puedo darle un nombre a lo que quiero hacer:

    Crear PictureBox en tiempo de ejecución: 

    var imgPictureBox = new PictureBox(); 
      imgPictureBox.Location = new System.Drawing.Point(15, 89); 
      imgPictureBox.Size = new System.Drawing.Size(140, 140); 
      imgPictureBox.SizeMode = PictureBoxSizeMode.StretchImage; 
      imgPictureBox.Image = Image.FromFile(@"C:\Imagenes\Imagen.png"); 
      Controls.Add(imgPictureBox); 
      imgPictureBox.Visible = true; 

    Ahora lo que me faltaría es aprender a usar un ScrollBar para deslizarme a través del formulario...

    Si no es mucha molestia, ¿Me podrías(podrían) enseñar?

    viernes, 11 de marzo de 2016 19:37
  • Hola Isidro,

    yo antes de meterme a crear los PictureBox de forma dinámica y gestionar el scroll por código, valoraría la posibilidad de utilizar el control ListView.


    Píldoras .NET
    Artículos, tutoriales y ejemplos de código .NET

    Píldoras JS
    Artículos, tutoriales y ejemplos de código JavaScript, HTML5, CSS3, ...

    sábado, 12 de marzo de 2016 8:27
  • Hola a todos, ya pude solucionarlo y de hecho fue más simple de lo que pensé jajajaja

    Bueno, aunque aún no me meto en cuestión de MySQL, pero eso ya lo domino un poco, lo que necesitaba solucionar era el problema de los PictureBox y lo hice así:

    namespace Pruebas
    {
        public partial class Form1 : Form
        {
            //Creamos la variable de los Picture Box
            PictureBox imgPB1 = new PictureBox();
            PictureBox imgPB2 = new PictureBox();
    
            public Form1()
            {
                InitializeComponent();
    
                //Damos lo datos para cada PictureBox en el form
                imgPB1.Location = new System.Drawing.Point(30, 30);
                imgPB2.Location = new System.Drawing.Point(30, 190);
    
                imgPB1.SizeMode = PictureBoxSizeMode.StretchImage;
                imgPB2.SizeMode = PictureBoxSizeMode.StretchImage;
    
                imgPB1.Image = Image.FromFile("C:/imgs/img1.jpg");
                imgPB2.Image = Image.FromFile("C:/imgs/img2.jpg");
    
                Controls.Add(imgPB1);       imgPB1.Visible = true;
                Controls.Add(imgPB2);       imgPB2.Visible = true;
            }
        }
    }
    

    Lo que hice fue crear los PictureBox en tiempo de ejecución, de hecho fue mas simple de lo que pensé...

    Y en cuanto al ScrollBar... fue un lío para encontrar una solución, buscaba videos, foros y por todos lados, hasta que en las propiedades del formulario había una parte que decía "AutoScroll" que estaba en false, lo único que tenía que hacer era cambiarlo a true jajajajaja

    Muchas gracias de todos modos :)

    sábado, 12 de marzo de 2016 17:05
  • Este video me funcionó, espero les sirva: https://www.youtube.com/watch?v=vTmGqzS6P60
    domingo, 1 de mayo de 2022 0:56