none
como obtener las propiedades un control de otro formulario. RRS feed

  • Pregunta

  • Hola buenas tardes tengo dos formularios ej: form1 , form2. La consulta es como puedo obtener las propiedades de los controles del form1 (la situacion cuando se checkea un check box se abre form2 la cosa es que si pongo cancelar en el form dos tengo que mandar checkBox1.checked=false; desde el form2 ). Intente creando una instancia del formulario para obtener el control hice

    form1 obtenerCheck= new form1();

    obtenerCheck."aqui me deberia aparecer los controles ?".

    lo solucione seteando false en el cheked cuando se abre el form2 . Pero quiero saber si se puede obtener las propiedades del form 1 . Gracias.  
    miércoles, 31 de mayo de 2017 18:55

Respuestas

  • Para acceder a los miembros de la clase Form1 debes pasar la referencia a la clase desde la cual quieres obtener acceso. Sin embargo, si Form2 tiene un botón [Cancelar] debo suponer que muestras el formulario como un cuadro de dialogo modal, ¿verdad?, de ser así entonces es simple reconocer el valor devuelto por el cuadro de dialogo, por ejemplo:

    - Form1

    Using f2 As New Form2
    	If f2.ShowDialog() = DialogResult.Cancel Then
    		CheckBox1.Checked = False
    		'Acciones...
    	ElseIf f2.ShowDialog() = DialogResult.OK Then
    		'Acciones...
    	End If
    
    	'O lo que es lo mismo
    	CheckBox1.Checked = f2.ShowDialog() = DialogResult.OK
    End Using

    - Form2

    Private Sub btnAceptar_Click(sender As Object, e As EventArgs)	
            DialogResult = DialogResult.OK
    End Sub
    
    Private Sub btnCancelar_Click(sender As Object, e As EventArgs)
    	DialogResult = DialogResult.Cancel
    End Sub


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    miércoles, 31 de mayo de 2017 19:20

Todas las respuestas

  • cuando cancelas en el form 2:

    form1.checkbox.checkedstate=checkedstate.unchecked?

    miércoles, 31 de mayo de 2017 18:59
  • Para acceder a los miembros de la clase Form1 debes pasar la referencia a la clase desde la cual quieres obtener acceso. Sin embargo, si Form2 tiene un botón [Cancelar] debo suponer que muestras el formulario como un cuadro de dialogo modal, ¿verdad?, de ser así entonces es simple reconocer el valor devuelto por el cuadro de dialogo, por ejemplo:

    - Form1

    Using f2 As New Form2
    	If f2.ShowDialog() = DialogResult.Cancel Then
    		CheckBox1.Checked = False
    		'Acciones...
    	ElseIf f2.ShowDialog() = DialogResult.OK Then
    		'Acciones...
    	End If
    
    	'O lo que es lo mismo
    	CheckBox1.Checked = f2.ShowDialog() = DialogResult.OK
    End Using

    - Form2

    Private Sub btnAceptar_Click(sender As Object, e As EventArgs)	
            DialogResult = DialogResult.OK
    End Sub
    
    Private Sub btnCancelar_Click(sender As Object, e As EventArgs)
    	DialogResult = DialogResult.Cancel
    End Sub


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    miércoles, 31 de mayo de 2017 19:20
  • Gracias olvide decir que estoy trabajando en c# pero entendi la porcion del codigo en VB. 
    jueves, 1 de junio de 2017 13:47