Principales respuestas
Cómo crear un buscador en C#

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.
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 :)
- Propuesto como respuesta Sergio Parra sábado, 12 de marzo de 2016 21:01
- Marcado como respuesta José De AlvaModerator miércoles, 30 de marzo de 2016 23:17
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- Propuesto como respuesta Karen MalagónModerator lunes, 29 de febrero de 2016 19:17
-
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
-
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?
-
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 .NETPíldoras JS
Artículos, tutoriales y ejemplos de código JavaScript, HTML5, CSS3, ... -
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 :)
- Propuesto como respuesta Sergio Parra sábado, 12 de marzo de 2016 21:01
- Marcado como respuesta José De AlvaModerator miércoles, 30 de marzo de 2016 23:17
-