none
Como llamar a un texbox ubicado en form Padre desde formulario hijo RRS feed

  • Pregunta

  • Saludos! Esta pregunta es como dice el titulo, tengo 2 texbox ubicado en un 1er formulario que se abre al iniciar mi aplicación, en donde se llenan con información para luego pulsar un botón que abre un 2do formulario.

    Desde ese segundo formulario quisiera llamar al texbox correo del formulario 1 pero no se muy bien como hacerlo.

    El propósito es mostrar el nombre del usuario, pero no se pide desde ningún campo de texto, y tampoco está en algún procedimiento almacenado, pienso rescatar el correo introducido, y eso compararlo con la tabla Usuarios de la base de datos para así poder mostrar el nombre.

    De la siguiente manera en un procedimiento almacenado:

    ALTER PROCEDURE [automotora.SP_MOSTRAR_NOMBRE]
    @mail varchar(30)
    
    AS
    
    SELECT nombre_usuario FROM automotora.Usuarios WHERE correo = @mail
    END

    Luego, intente llamar a ese texbox del correo del primer formulario de la siguiente manera.

    private void MostrarDatos(){ FORM_Autos formulario1 = new FORM_Autos(); string usuario = formulario1.Text_Correo.Text;

    LabelUsuario.Text = "Bienvenico Usuario: " + " " + ModoInformacion.MostrarUsuario(usuario); }

    Pero dice que no encuentra el tipo o el nombre de espacio de nombres, que me falta una directiva using. Pero creo que no necesitaré de una. Ocupo procedimientos almacenados y una base de datos en SQL SERVER, para manejar la información.

    También ocupo unas bibliotecas de clases llamadas ModoPresentacion y ModoInformacion, en la primera están los 2 formularios, y en la segunda esta una clase la cual contiene un método, el cual desde otra clase en un constructor ubicado en ModoDatos; rescata la variable contenida en el procedimiento almacenado.

    Además ese mismo Textbox del Correo, lo ocupo para validar la información. El cual no se podrá ingresar cualquier correo que no esté registrado. Y por consecuente no abrirá el segundo formulario si no es correcto el correo. Dicho esto, este texbox se ocupa en otro procedimiento almacenado, el cual hace un SELECT COUNT(*) a la base de datos; y se podría decir que es el que toma 1ero en cuenta, para validar el correo. Y ahora trato de usarlo en un segundo procedimiento almacenado. Pero no me funciona.

    Quedo a la espera de alguna respuesta por parte de esta comunidad, muchas gracias.








    • Editado M4uriXD lunes, 9 de marzo de 2020 15:12
    lunes, 9 de marzo de 2020 15:03

Todas las respuestas

  • hola

    >>Desde ese segundo formulario quisiera llamar al texbox correo del formulario 1 pero no se muy bien como hacerlo.

    no deberias llamar al form1 desde el form2 para tener acceso a un dato, se supone que debas pasar esa informacion cuando desde el form1 abres el form2

    Para eso envias el dato en el constructor

    Comunicar Formularios

    la idea es que en el form2 definas

    public class form2 : Form{
    
       private readonly string _dato;
    
       public form2(){
    
           InitializeComponent();
    
       }
    
       public form2(string dato) : this() {
    
           _dato = dato;
    
      }
    
    }
    

    entonces desde el form1 harias

    public void button1_Click(...){
    
        form2 f = new form2(textbox1.Text);
    
        f.Show();
    
    }
    

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    lunes, 9 de marzo de 2020 16:00
  • Podrias uar una Interface
    lunes, 9 de marzo de 2020 16:41