public void CrearPanel()//permite crear un panel con una clase { Figura_Clase fig = new Figura_Clase(); fig.DibujarFigura(); ControlExtension.Draggable(fig.Contenedor, true); ControlCanvas.Relatable(fig.Contenedor, true); CargarFigura(fig); /*foreach(Control con in fig.ReturnControls()) * { * CanvasPanel.Controls.Add(con); * }*/ CanvasPanel.Controls.Add(fig.Contenedor); //Console.WriteLine("Hola" + fig.Contenedor.Location); }
public void CrearPanel(ref Panel panel) //permite crear un panel con una clase { MenuItem[] menuItems = new MenuItem[] { new MenuItem("Modificar", MenuItem_Click), //hacemos esto para definir como se comportaran luego new MenuItem("Reiniciar", MenuItem_Click), new MenuItem("Exit", MenuItem_Click) }; ContextMenu buttonMenu = new ContextMenu(menuItems); panel.Location = new System.Drawing.Point(570, 370); panel.Name = "Panel " + paneles.Count;//se poodria cambiar por parametro aunque no me parecee necesario panel.Size = new System.Drawing.Size(228, 201); Figura_Clase fig = new Figura_Clase(panel.Size); Formas.Formas.Add(fig); panel.BackgroundImage = Image.FromFile(Formas.GetNewBackground()); panel.BackColor = Color.LightBlue; panel.ContextMenu = buttonMenu; panel.Click += PointForRelation;//Se guarda en los puntos para utilizarlos en relaciones panel.MouseClick += PnlMouseDown; panel.MouseMove += PnlMouseMove; panel.MouseUp += PnlMouseUp; ControlExtension.Draggable(panel, true); fig.Contenedor = panel; //Controls.Add(panel); masterPanel.Controls.Add(panel); }
public void MenuItem_Click(object sender, EventArgs e) //es un escuchador para cada item si se le da click al context menu hace algo { MenuItem mi = sender as MenuItem; //El que envia se vuelve menu item osea el nuevo item creado en Crear Panel if (mi != null) { //aqui deberiamos comprobar } if (mi.Text == "Modificar")//Comportamiento para el info { // aqui se debria abrir el nuevo Form ingresar los datos y setearlos String nombre = "None"; // = llenarClase.NombreClase;//obtengo nombre clase List <string> atributos = new List <string>(); //llenarClase.Atributos;//obtengo atributos List <string> metodos = new List <string>(); // obtengo metodos this.llenarClase = new LlenarClase(); this.llenarClase.FormClosed += LlenarClase_FormClosed; this.llenarClase.ShowDialog(); //Llegan las listas del form llenarClase nombre = llenarClase.NombreClase; atributos = llenarClase.Atributos; metodos = llenarClase.Metodos; // "Desplegando Info";//Aqui se deberia desplegar el form para ingresar los datos List <Label> contenido = new List <Label>(); var cm = (ContextMenu)mi.Parent;//Se obtiene el padree con esta funcion Control ctr = cm.SourceControl; Label label = new Label(); label.Location = new System.Drawing.Point(10, 10); //localizacion label.Size = new System.Drawing.Size(320, 20); //tamaño label.Text = nombre; //Aqui se deberia setear las cosas //Se hace visible el label y se le pone sus configuraciones label.BackColor = Color.Gray; label.Font = new Font(label.Font.Name, label.Font.SizeInPoints, FontStyle.Regular); label.Visible = true; //MenuItem[] fue vuelto un menu de contexto y se le agrega el item contenido.Add(label); int dx = 0; foreach (String var in atributos) { Label label2 = new Label(); Figura_Clase fig = new Figura_Clase(ctr.Size); label2.Font = new Font(label.Font.Name, label.Font.SizeInPoints, FontStyle.Regular); Size textSize = TextRenderer.MeasureText(var, label2.Font); dx += (int)textSize.Height + 5; label2.Location = new Point(fig.PosRectAtributos.X + 5, fig.RectAtributos.Y + 2 + dx); //localizacion label2.Size = new System.Drawing.Size(200, 20); //tamaño label2.Text = var; //Aqui se deberia setear las cosas //Se hace visible el label y se le pone sus configuraciones label2.BackColor = Color.Gray; label2.Visible = true; contenido.Add(label2); } dx = 0; foreach (String var in metodos) { Label label2 = new Label(); Figura_Clase fig = new Figura_Clase(ctr.Size); label2.Font = new Font(label.Font.Name, label.Font.SizeInPoints, FontStyle.Regular); Size textSize = TextRenderer.MeasureText(var, label2.Font); dx += (int)textSize.Height + 5; label2.Location = new Point(fig.PosRectMetodos.X + 5, fig.RectMetodos.Y + 2 + dx); //localizacion label2.Size = new System.Drawing.Size(200, 20); //tamaño label2.Text = var; //Aqui se deberia setear las cosas //Se hace visible el label y se le pone sus configuraciones label2.BackColor = Color.Gray; label2.Visible = true; contenido.Add(label2); } dx = 0; foreach (Label lbl in contenido) { Console.WriteLine(lbl.Text); ctr.Controls.Add(lbl); } } else if (mi.Text == "Reiniciar")//Comportamiento para el info2 { foreach (Control item in paneles) { //this.Controls.Remove(item); } } }