private void insertarImagen_Click(object sender, EventArgs e) { PictureBox imagen = new PictureBox(); OpenFileDialog dialogoBuscarArchivo = new OpenFileDialog(); //Se crean las opciones de busqueda dialogoBuscarArchivo.InitialDirectory = "c:\\"; dialogoBuscarArchivo.Filter = "Image Files(*.jpg; *.jpeg; *.gif; *.png; *.bmp)|*.jpg; *.jpeg; *.gif; *.png; *.bmp"; //el ShowDialog() muestra el explorador de archivos para que elijas tu archivo. Si se hace click en Aceptar , se abre el archivo if (dialogoBuscarArchivo.ShowDialog() == DialogResult.OK) { Bitmap img = new Bitmap(dialogoBuscarArchivo.FileName); var imageHeight = img.Height; var imageWidth = img.Width; //propiedades de la imagen imagen.Size = new Size(imageWidth, imageHeight); //Guardar imagen en la carpeta ImagenesBD if (!File.Exists(@"..\..\ImagenesBD\\" + dialogoBuscarArchivo.SafeFileName)) { imagen.Image.Save(@"..\..\ImagenesBD\\" + dialogoBuscarArchivo.SafeFileName); } //Añadir elemento a la base de datos ClaseElemento oelemento = new ClaseElemento("img", dialogoBuscarArchivo.SafeFileName, Convert.ToInt16(columna_id.Text), imagen.Width, 0, 0, imagen.Height); BDElementos.insertarElemento(oelemento); } }
//funcion para cuando se deja de clickar en la esquina inferior para modificar el tamaño del elemento private void pictureBox1_MouseUp(object sender, MouseEventArgs e, Control elemento) { allowResize = false; //actualizar el tamaño del elemento en base de datos BDElementos.actualizarTamaño(elemento.Width, elemento.Height, Convert.ToInt16(elemento.Name)); }
private void insertarVideo_Click(object sender, EventArgs e) { string url = Interaction.InputBox("Introduce la url del video que quieres insertar", "Video", ""); if (String.IsNullOrEmpty(url) || String.IsNullOrWhiteSpace(url)) { MessageBox.Show("Introduce una url valida"); } else { //Añadir elemento a la base de datos ClaseElemento oelemento = new ClaseElemento("video", url, Convert.ToInt16(columna_id.Text), 240, 0, 0, 120); BDElementos.insertarElemento(oelemento); } }
private void insertarParrafo_Click(object sender, EventArgs e) { string textoParrafo = Interaction.InputBox("Introduce el parrafo que quieres insertar", "Parrafo", ""); if (String.IsNullOrEmpty(textoParrafo) || String.IsNullOrWhiteSpace(textoParrafo)) { MessageBox.Show("Introduce un nombre valido"); } else { Label parrafo = new Label(); //Añadir elemento a la base de datos ClaseElemento oelemento = new ClaseElemento("p", textoParrafo, Convert.ToInt16(columna_id.Text), 300, 0, 0, 300); BDElementos.insertarElemento(oelemento); } }
//tercera parte de la funcion para que un elemento se pueda mover public void controlMovible(Control control, Control container, Direction direction) { bool Dragging = false; Point DragStart = Point.Empty; //funcion para cuando clickas sobre el elemento para modificar la posicion del elemento control.MouseDown += delegate(object sender, MouseEventArgs e) { Dragging = true; DragStart = new Point(e.X, e.Y); control.Capture = true; }; //funcion para cuando se deja de clickar sobre el elemento para modificar la posicion del elemento control.MouseUp += delegate(object sender, MouseEventArgs e) { Dragging = false; control.Capture = false; BDElementos.actualizarPosicion(container.Left, container.Top, Convert.ToInt16(container.Name)); }; //funcion que al estar clickando permite modificar la posicion del elemento control.MouseMove += delegate(object sender, MouseEventArgs e) { //metodo para que el elemento no pueda sobrepasar el ancho del contenedor de la columna container = (Control)sender; Rectangle panelcontenedor = container.Parent.ClientRectangle; if (Dragging) { if (direction != Direction.Vertical) { container.Left = Math.Min(Math.Max(10, e.X + container.Left - DragStart.X), panelcontenedor.Right - container.Width) - 10; } if (direction != Direction.Horizontal) { container.Top = Math.Min(Math.Max(10, e.Y + container.Top - DragStart.Y), panelcontenedor.Bottom - container.Height) - 10; } } }; }
private void insertarTitulo_Click(object sender, EventArgs e) { string textoTitulo = Interaction.InputBox("Introduce el titulo que quieres insertar", "Titulo", ""); if (String.IsNullOrEmpty(textoTitulo) || String.IsNullOrWhiteSpace(textoTitulo)) { MessageBox.Show("Introduce un nombre valido"); } else { //propiedades del titulo Label titulo = new Label(); titulo.Text = textoTitulo; titulo.AutoSize = true; //Añadir elemento a la base de datos ClaseElemento oelemento = new ClaseElemento("title", textoTitulo, Convert.ToInt16(columna_id.Text), titulo.Width, 0, 0, 26); BDElementos.insertarElemento(oelemento); } }
private void borrarElemento(int id, object sender, EventArgs e) { this.Cursor = Cursors.Default; posibleBorrar = true; //una vez haber elegido que elemento se va a borrar se elimina el evento click llamando al metodo borrarEventoClick for (int x = 0; x < contenedorColumna.Controls.Count; x++) { borrarEventoClick(contenedorColumna.Controls[x]); } //ventana para confirmar que se quiere borrar el elemento DialogResult confirmar = MessageBox.Show("El elemento se borrara para siempre, estas seguro de que quieres eliminar este elemento", "Borrar", MessageBoxButtons.YesNo, MessageBoxIcon.Information); //si la respuesta a confirmar es que si se llamara al metodo para eliminar el elemento de base de datos if (confirmar == DialogResult.Yes) { BDElementos.borrarElemento(id); contenedorColumna.Controls.Clear(); Columna_Activated(sender, e); } }
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(); } }