Exemplo n.º 1
0
        public void pintarBloques()
        {
            //limpiar la lista de columnas y las columnas que contiene el bloque para evitar repetidos
            listaColumnas.Clear();
            contenedor.Controls.Clear();

            //se rellena la lista de columnas desde base de datos para posteriormente recorrerla
            listaColumnas = BDColumnas.buscarColumnas(bloque_id.Text);

            if (listaColumnas != null)
            {
                foreach (ClaseColumna ocolumna in listaColumnas)
                {
                    //se crea la columna, aparte de funciones necesarias para el correcto funcionamiento
                    Panel panel1 = new Panel();

                    //Propiedades que tendra la columna al ser creada
                    panel1.BorderStyle = BorderStyle.FixedSingle;
                    panel1.Name        = "columna" + contador;
                    panel1.Size        = new Size(ocolumna.ancho, ocolumna.alto);

                    if (ocolumna.ancho + ocolumna.espacio_izquierda > 1260)
                    {
                        int espacioNuevo = 1260 - ocolumna.ancho;
                        panel1.Left = espacioNuevo;
                        BDColumnas.actualizarPosicion(espacioNuevo, ocolumna.espacio_arriba, ocolumna.titulo);
                    }
                    else
                    {
                        panel1.Left = ocolumna.espacio_izquierda;
                    }

                    panel1.Top         = ocolumna.espacio_arriba;
                    panel1.MaximumSize = new Size(1260, 570);
                    panel1.MinimumSize = new Size(200, 100);
                    panel1.BackColor   = Color.Transparent;

                    //caja de texto donde se guarda el nombre de la columna
                    Label nombre = new Label();
                    nombre.Text     = ocolumna.titulo;
                    nombre.AutoSize = true;
                    nombre.Font     = new Font("Arial", 22, FontStyle.Bold);
                    nombre.Location = new Point(30, 30);
                    nombre.Visible  = false;

                    panel1.Controls.Add(nombre);

                    this.Controls.Add(panel1);

                    contenedor.Controls.Add(panel1);

                    contador++;

                    //rellena la lista de elementos desde base de datos para posteriormente recorrela
                    Columna.listaElementos = BDElementos.buscarElementos(ocolumna.id.ToString());
                    if (Columna.listaElementos != null)
                    {
                        foreach (ClaseElemento oelemento in Columna.listaElementos)
                        {
                            string tipo = oelemento.tipo;

                            switch (tipo)
                            {
                            case "img":

                                PictureBox imagen = new PictureBox();
                                imagen.Image = Image.FromFile(@"..\..\ImagenesBD\\" + oelemento.contenido);

                                Bitmap img = new Bitmap(Image.FromFile(@"..\..\ImagenesBD\\" + oelemento.contenido));

                                var imageHeight = img.Height;
                                var imageWidth  = img.Width;

                                //propiedades de la imagen
                                imagen.Top      = oelemento.espacio_arriba;
                                imagen.Left     = oelemento.espacio_izquierda;
                                imagen.Name     = oelemento.id.ToString();
                                imagen.Size     = new Size(imageWidth, imageHeight);
                                imagen.SizeMode = PictureBoxSizeMode.StretchImage;
                                imagen.Width    = oelemento.ancho;
                                imagen.Height   = oelemento.alto;
                                imagen.Enabled  = false;

                                panel1.Controls.Add(imagen);
                                break;

                            case "video":
                                PictureBox video = new PictureBox();
                                video.Image = Image.FromFile(@"..\..\Imagenes\play.png");

                                //propiedades del video
                                video.Top         = oelemento.espacio_arriba;
                                video.Left        = oelemento.espacio_izquierda;
                                video.Name        = oelemento.id.ToString();
                                video.BorderStyle = BorderStyle.FixedSingle;
                                video.SizeMode    = PictureBoxSizeMode.CenterImage;
                                video.Width       = oelemento.ancho;
                                video.Height      = oelemento.alto;
                                video.Enabled     = false;

                                panel1.Controls.Add(video);
                                break;

                            case "p":
                                Label parrafo = new Label();
                                parrafo.Text = oelemento.contenido;

                                //propiedades del parrafo
                                parrafo.Top     = oelemento.espacio_arriba;
                                parrafo.Left    = oelemento.espacio_izquierda;
                                parrafo.Name    = oelemento.id.ToString();
                                parrafo.Font    = new Font("Arial", 9);
                                parrafo.Width   = oelemento.ancho;
                                parrafo.Height  = oelemento.alto;
                                parrafo.Enabled = false;

                                panel1.Controls.Add(parrafo);
                                break;

                            case "title":
                                Label titulo = new Label();
                                titulo.Text = oelemento.contenido;

                                //propiedades del titulo
                                titulo.Top     = oelemento.espacio_arriba;
                                titulo.Left    = oelemento.espacio_izquierda;
                                titulo.Name    = oelemento.id.ToString();
                                titulo.Font    = new Font("Arial", 16);
                                titulo.Width   = oelemento.ancho;
                                titulo.Height  = oelemento.alto;
                                titulo.Enabled = false;

                                panel1.Controls.Add(titulo);
                                break;
                            }
                        }
                        Columna.listaElementos.Clear();
                    }
                    else
                    {
                        Columna.listaElementos = new ArrayList();
                    }
                    panel1.MinimumSize = new Size(200, panel1.Height);
                    panel1.BringToFront();

                    //añade un evento cuando se hace click sobre una columna
                    panel1.DoubleClick += delegate(object send, EventArgs ea) { Controlador.mostrarColumna(send, ea, ocolumna.titulo, panel1.Width, panel1.Height); Hide(); };
                    panel1.MouseEnter  += delegate(object send, EventArgs ea) { panel1.Cursor = Cursors.SizeAll; };
                    panel1.MouseLeave  += delegate(object send, EventArgs ea) { panel1.Cursor = Cursors.Default; };
                    controlMovible(panel1);
                }
                listaColumnas.Clear();
            }
            else
            {
                listaColumnas = new ArrayList();
            }
        }
Exemplo n.º 2
0
        private void Columna_Activated(object sender, EventArgs e)
        {
            contenedorColumna.Controls.Clear();
            crearBarrasDeRedimension();

            //rellena la lista de elementos desde base de datos para posteriormente recorrela
            listaElementos = BDElementos.buscarElementos(columna_id.Text);
            if (listaElementos != null)
            {
                foreach (ClaseElemento oelemento in listaElementos)
                {
                    string tipo = oelemento.tipo;

                    switch (tipo)
                    {
                    case "img":
                        PictureBox imagen = new PictureBox();
                        imagen.Image = Image.FromFile(@"..\..\ImagenesBD\\" + oelemento.contenido);

                        //propiedades de la imagen
                        imagen.Top         = oelemento.espacio_arriba;
                        imagen.Left        = oelemento.espacio_izquierda;
                        imagen.Name        = oelemento.id.ToString();
                        imagen.BorderStyle = BorderStyle.FixedSingle;
                        imagen.MaximumSize = new Size(1260, 570);
                        imagen.MinimumSize = new Size(10, 10);
                        imagen.SizeMode    = PictureBoxSizeMode.StretchImage;
                        imagen.Width       = oelemento.ancho;
                        imagen.Height      = oelemento.alto;

                        //elemento para poder cambiar el tamaño de la imagen
                        PictureBox pictureBox1 = new PictureBox();
                        pictureBox1.BackColor  = Color.FromArgb(185, 209, 234);
                        pictureBox1.Anchor     = ((AnchorStyles)((AnchorStyles.Right | AnchorStyles.Bottom)));
                        pictureBox1.Cursor     = Cursors.SizeNWSE;
                        pictureBox1.Left       = imagen.Width - 10;
                        pictureBox1.Top        = imagen.Height - 10;
                        pictureBox1.MouseDown += delegate(object send, MouseEventArgs ea) { this.pictureBox1_MouseDown(send, ea, imagen, pictureBox1); };
                        pictureBox1.MouseMove += delegate(object send, MouseEventArgs ea) { this.pictureBox1_MouseMove(send, ea, imagen, pictureBox1); };
                        pictureBox1.MouseUp   += delegate(object send, MouseEventArgs ea) { this.pictureBox1_MouseUp(send, ea, imagen); };

                        imagen.Controls.Add(pictureBox1);

                        //Añadir la imagen al panel
                        contenedorColumna.Controls.Add(imagen);

                        controlMovible(imagen);
                        break;

                    case "video":
                        PictureBox video = new PictureBox();
                        video.Image = Image.FromFile(@"..\..\Imagenes\play.png");

                        //propiedades del video
                        video.Top         = oelemento.espacio_arriba;
                        video.Left        = oelemento.espacio_izquierda;
                        video.Name        = oelemento.id.ToString();
                        video.BorderStyle = BorderStyle.FixedSingle;
                        video.SizeMode    = PictureBoxSizeMode.CenterImage;
                        //video.MinimumSize = new Size(240, 135);
                        video.MinimumSize = new Size(10, 10);
                        video.Width       = oelemento.ancho;
                        video.Height      = oelemento.alto;

                        //elemento para poder cambiar el tamaño de la imagen
                        PictureBox pictureBox2 = new PictureBox();
                        pictureBox2.BackColor  = Color.FromArgb(185, 209, 234);
                        pictureBox2.Height     = video.Height;
                        pictureBox2.Anchor     = ((AnchorStyles)((AnchorStyles.Right | AnchorStyles.Bottom)));
                        pictureBox2.Cursor     = Cursors.SizeNWSE;
                        pictureBox2.Left       = video.Width - 10;
                        pictureBox2.Top        = video.Height - 10;
                        pictureBox2.MouseDown += delegate(object send, MouseEventArgs ea) { this.pictureBox1_MouseDown(send, ea, video, pictureBox2); };
                        pictureBox2.MouseMove += delegate(object send, MouseEventArgs ea) { this.pictureBox1_MouseMove(send, ea, video, pictureBox2); };
                        pictureBox2.MouseUp   += delegate(object send, MouseEventArgs ea) { this.pictureBox1_MouseUp(send, ea, video); };

                        video.Controls.Add(pictureBox2);

                        //Añadir la imagen al panel
                        contenedorColumna.Controls.Add(video);

                        controlMovible(video);
                        break;

                    case "p":
                        Label parrafo = new Label();
                        parrafo.Text = oelemento.contenido;

                        //propiedades del parrafo
                        parrafo.Top         = oelemento.espacio_arriba;
                        parrafo.Left        = oelemento.espacio_izquierda;
                        parrafo.Name        = oelemento.id.ToString();
                        parrafo.Font        = new Font("Arial", 9);
                        parrafo.BorderStyle = BorderStyle.FixedSingle;
                        parrafo.MaximumSize = new Size(1260, 570);
                        parrafo.MinimumSize = new Size(10, 10);
                        parrafo.Width       = oelemento.ancho;
                        parrafo.Height      = oelemento.alto;

                        //elemento para poder cambiar el tamaño de la imagen
                        PictureBox pictureBox3 = new PictureBox();
                        pictureBox3.BackColor  = Color.FromArgb(185, 209, 234);
                        pictureBox3.Height     = parrafo.Height;
                        pictureBox3.Anchor     = ((AnchorStyles)((AnchorStyles.Right | AnchorStyles.Bottom)));
                        pictureBox3.Cursor     = Cursors.SizeNWSE;
                        pictureBox3.Left       = parrafo.Width - 10;
                        pictureBox3.Top        = parrafo.Height - 10;
                        pictureBox3.MouseDown += delegate(object send, MouseEventArgs ea) { this.pictureBox1_MouseDown(send, ea, parrafo, pictureBox3); };
                        pictureBox3.MouseMove += delegate(object send, MouseEventArgs ea) { this.pictureBox1_MouseMove(send, ea, parrafo, pictureBox3); };
                        pictureBox3.MouseUp   += delegate(object send, MouseEventArgs ea) { this.pictureBox1_MouseUp(send, ea, parrafo); };

                        parrafo.Controls.Add(pictureBox3);

                        //Añadir la imagen al panel
                        contenedorColumna.Controls.Add(parrafo);

                        controlMovible(parrafo);
                        break;

                    case "title":
                        Label titulo = new Label();
                        titulo.Text = oelemento.contenido;

                        //propiedades del titulo
                        titulo.Top         = oelemento.espacio_arriba;
                        titulo.Left        = oelemento.espacio_izquierda;
                        titulo.Name        = oelemento.id.ToString();
                        titulo.BorderStyle = BorderStyle.FixedSingle;
                        titulo.Font        = new Font("Arial", 16);
                        titulo.MaximumSize = new Size(1260, 26);
                        titulo.MinimumSize = new Size(10, 26);
                        titulo.Width       = oelemento.ancho;
                        titulo.Height      = oelemento.alto;

                        //elemento para poder cambiar el tamaño de la imagen
                        PictureBox pictureBox4 = new PictureBox();
                        pictureBox4.BackColor  = Color.FromArgb(185, 209, 234);
                        pictureBox4.Height     = titulo.Height;
                        pictureBox4.Anchor     = ((AnchorStyles)((AnchorStyles.Right | AnchorStyles.Bottom)));
                        pictureBox4.Cursor     = Cursors.SizeNWSE;
                        pictureBox4.Left       = titulo.Width - 10;
                        pictureBox4.Top        = titulo.Height - 10;
                        pictureBox4.MouseDown += delegate(object send, MouseEventArgs ea) { this.pictureBox1_MouseDown(send, ea, titulo, pictureBox4); };
                        pictureBox4.MouseMove += delegate(object send, MouseEventArgs ea) { this.pictureBox1_MouseMove(send, ea, titulo, pictureBox4); };
                        pictureBox4.MouseUp   += delegate(object send, MouseEventArgs ea) { this.pictureBox1_MouseUp(send, ea, titulo); };

                        titulo.Controls.Add(pictureBox4);

                        //Añadir la imagen al panel
                        contenedorColumna.Controls.Add(titulo);

                        controlMovible(titulo);
                        break;
                    }
                }
                listaElementos.Clear();
            }
            else
            {
                listaElementos = new ArrayList();
            }
        }