none
Copiar y pegar controles entre diferentes GroupBox RRS feed

  • Pregunta

  • Hola,

    No consigo copiar controles moviendolos de un groupBox a otro, explico... 

    Muevo un control (panel) y lo arrastro entre los diferentes GroupBox que tengo (5) cuando suelto me gustaría que se comportase como un objeto del groupbox en el que lo he soltado, pero no consigo hacerlo... cuando suelto en un groupbox tengo un checkbox que cuando lo acciono me gustaría bloquear todo lo que hay dentro de ese groupbox.... no se si lo he explicado bien

    A ver si me pueden dar un empujoncito que estoy bloqueado... 

    Gracias de antemano. 

    sábado, 7 de abril de 2018 12:09

Todas las respuestas

  • Tienes dos cosas diferentes que hacer si entendi lo que estas tratando de explicarnos, bueno el control checkbox tiene una propiedad que se llama checkedchanged y lo unico que tendras que hacer es poner Enable todos los groupbox que quieras una vez cambia en estado (checkedchanged) de tu checkbox

    osea

    chktucheck.checkedchanged

    groupbox1.enable = false 

    y asi sucesivamente con todos tus groupbox

    sábado, 7 de abril de 2018 15:19
  • Hola Efrain, eso lo tengo claro.... a lo que me refiero es que yo arrastro un panel dentro de un groupbox cuando ya lo tengo ejecutado y al accionar el checkbox no se comporta como con el resto de elementos que tengo dentro de ese groupbox... voy a poner un poquito de codigo a ver si asi lo vemos mejor

    public static void Comportamiento(Panel objetos, bool activar) 
    	    { 
                foreach(Control c in objetos.Controls) 
    		    { 
                    
    			    if(c is CheckBox)
    				{ 
    					((CheckBox) c ).Enabled = activar; 
    				} 
                    
    				if(c is ComboBox) 
    				{ 
    					c.Enabled = !activar; 
    				}
                    if (c is Panel)
                    {
                        c.Enabled = !activar;
                    }
    		    } 
    	    }
    
            private void checkBox1_CheckedChanged(object sender, EventArgs e)
            {
                if (checkBox1.Checked == true)
                {
                    Comportamiento(panel2, true);
                    foreach (Control c in panel2.Controls)
                    {
                        if (c is Panel) ((Panel)c).Visible = false;
                        if (c is LinkLabel) ((LinkLabel)c).Text = groupBox1.Text;
    
                    }
                    
                }
                
            }

    Necesitaria algo como añadir nuevos controles dentro el panel2...

    c.Controls.Add(panel2);

    Algo así.


    sábado, 7 de abril de 2018 15:50