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(); } }
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(); } }