Exemplo n.º 1
0
        private void button1_Click_1(object sender, EventArgs e)
        {
            // Aquí se crea el panel que contendrá todos los datos
            Panel panelImg = new Panel
            {
                Size      = new Size(140, 150),
                BackColor = Color.LightSkyBlue,
                Cursor    = Cursors.Hand
            };

            // Label que contiene el nombre del empleado
            Label labelN = new Label
            {
                Text      = "Josue Manuel Romero Canaan",
                ForeColor = Color.Black,
                AutoSize  = false,
                TextAlign = ContentAlignment.MiddleCenter
            };

            // Nombre del trabajo en el que está participando el empleado
            Label labelT = new Label
            {
                Text      = " Portada de libro: El soñador",
                ForeColor = Color.Black,
                AutoSize  = false,
                TextAlign = ContentAlignment.MiddleCenter,
            };

            // Nombre del proyecto en el que está participando el empleado
            Label labelP = new Label
            {
                Text      = "El soñador",
                ForeColor = Color.Black,
                AutoSize  = false,
                TextAlign = ContentAlignment.MiddleCenter,
            };

            // Código para cortar una imagen y dejarla en círculo
            int      radio = 18, x = 23, y = 24;
            Bitmap   tmp = new Bitmap(2 * radio, 2 * radio);
            Graphics g   = Graphics.FromImage(tmp);

            g.TranslateTransform(tmp.Width / 2, tmp.Height / 2);
            GraphicsPath path = new GraphicsPath();

            path.AddEllipse(0 - radio, 0 - radio, 2 * radio, 2 * radio);
            Region region = new Region(path);

            g.SetClip(region, CombineMode.Replace);
            Bitmap bmp = new Bitmap("C:\\Users\\tote_\\Desktop\\ImagenLol.jpg"); //Ruta de la imagen

            g.DrawImage(bmp, new Rectangle(-radio, -radio, 2 * radio, 2 * radio), new Rectangle(x - radio, y - radio, 2 * radio, 2 * radio), GraphicsUnit.Pixel);
            PictureBox cuadro = new PictureBox();

            cuadro.Size     = new Size(80, 80);
            cuadro.SizeMode = PictureBoxSizeMode.StretchImage;
            cuadro.Image    = tmp;

            cuadro.Location = new Point(27, 10);

            // Creación del panel donde se encontrarán todos los elementos
            PanelJosue panel = new PanelJosue(panelImg, cuadro, labelN, labelT, labelP)
            {
                Size   = new Size(140, 150),
                Cursor = Cursors.Hand
            };

            // Se añade el panel ya preparado al carrusel
            flowLayoutPanel1.Controls.Add(panel);
        }
Exemplo n.º 2
0
        private void MostrarEmpleados()
        {
            List <int> id       = new List <int>();
            String     nombre   = "";
            String     trabajo  = "";
            String     proyecto = "";
            String     ruta     = "";

            // Realizo la consulta para obtener los ID's de los empleados activos
            co.Comando("SELECT DISTINCT E.ID " +
                       "FROM Empleado AS E WHERE E.ID IN (SELECT ET.EmpleadoID FROM Empleado_Trabajos as ET, Trabajos as T " +
                       "WHERE T.FechaFin > CURDATE());");

            // Guardo en un arreglo los ID's
            while (co.LeerRead)
            {
                id.Add(co.Leer.GetInt32(0));
            }
            if (id.Count == 0)
            {
                return;
            }
            else
            {
                for (int i = 0; i < id.Count; i++)
                {
                    co.Comando("SELECT DISTINCT E.Nombre as NombreTrabajador, T.Nombre as NombreTrabajo, E.imagenEmpleado as Imagen " +
                               "FROM Empleado as E, Trabajos as T, Empleado_Trabajos as ET " +
                               "WHERE (E.ID = " + id[i] + " AND E.ID = ET.EmpleadoID AND ET.TrabajosID = T.ID) " +
                               "GROUP BY E.Nombre;");
                    if (co.LeerRead)
                    {
                        // Se guardan el nombre y trabajo en el que participa el empleado en cuestión
                        nombre  = co.Leer.GetString(0);
                        trabajo = co.Leer.GetString(1);
                        ruta    = co.Leer.GetString(2);
                    }
                    //if (ruta == null || ruta.Equals(""))


                    co.Comando("SELECT P.Nombre " +
                               "FROM proyectos AS P, Trabajos AS T " +
                               "WHERE T.Nombre = '" + trabajo + "' AND T.ProyectosID = P.ID;");
                    if (co.LeerRead)
                    {
                        // Se guardan el nombre del proyecto si es que hay uno asociado
                        proyecto = co.Leer.GetString(0);
                    }
                    else
                    {
                        proyecto = "No hay proyecto asociado";
                    }

                    // Aquí se crea el panel que contendrá todos los datos
                    Panel panelImg = new Panel
                    {
                        Size      = new Size(140, 150),
                        BackColor = Color.LightSkyBlue,
                        Cursor    = Cursors.Hand
                    };

                    // Label que contiene el nombre del empleado
                    Label labelN = new Label
                    {
                        Text      = nombre,
                        ForeColor = Color.Black,
                        AutoSize  = false,
                        TextAlign = ContentAlignment.MiddleCenter
                    };

                    // Nombre del trabajo en el que está participando el empleado
                    Label labelT = new Label
                    {
                        Text      = trabajo,
                        ForeColor = Color.Black,
                        AutoSize  = false,
                        TextAlign = ContentAlignment.MiddleCenter,
                    };

                    // -------------------------------

                    // -------------------------------

                    // Nombre del proyecto en el que está participando el empleado
                    Label labelP = new Label
                    {
                        Text      = proyecto,
                        ForeColor = Color.Black,
                        AutoSize  = false,
                        TextAlign = ContentAlignment.MiddleCenter,
                    };

                    // -------------------------------

                    //--------------------------------

                    // Código para cortar una imagen y dejarla en círculo
                    int      radio = 110, x = 135, y = 135;
                    Bitmap   tmp = new Bitmap(2 * radio, 2 * radio);
                    Graphics g   = Graphics.FromImage(tmp);
                    g.TranslateTransform(tmp.Width / 2, tmp.Height / 2);
                    GraphicsPath path = new GraphicsPath();
                    path.AddEllipse(0 - radio, 0 - radio, 2 * radio, 2 * radio);
                    Region region = new Region(path);
                    g.SetClip(region, CombineMode.Replace);
                    Bitmap bmp;
                    try
                    {
                        bmp = new Bitmap(ruta); //Ruta de la imagen
                    }catch (Exception e)
                    {
                        ruta = Path.Combine(Application.StartupPath, "sin foto.png");
                        bmp  = new Bitmap(ruta); //Ruta de la imagen en caso de error
                    }
                    g.DrawImage(bmp, new Rectangle(-radio, -radio, 2 * radio, 2 * radio), new Rectangle(x - radio, y - radio, 2 * radio, 2 * radio), GraphicsUnit.Pixel);
                    PictureBox cuadro = new PictureBox();
                    cuadro.Size     = new Size(80, 80);
                    cuadro.Image    = tmp;
                    cuadro.SizeMode = PictureBoxSizeMode.StretchImage;

                    cuadro.Location = new Point(27, 10);

                    // Creación del panel donde se encontrarán todos los elementos
                    PanelJosue panel = new PanelJosue(panelImg, cuadro, labelN, labelT, labelP)
                    {
                        Size   = new Size(140, 150),
                        Cursor = Cursors.Hand
                    };

                    //
                    label1 = panel.labelNombre;
                    ajustarLabels();
                    label1 = panel.labelTrabajo;
                    ajustarLabels();
                    label1 = panel.labelProyecto;
                    ajustarLabels();
                    //

                    // Se añade el panel ya preparado al carrusel
                    flowLayoutPanel1.Controls.Add(panel);
                }
            }
        }