none
Borrar contenido de textbox RRS feed

  • Pregunta

  • Que tal es un gusto saludarles a todos.

    Tengo un formulario 

    Que tiene

    -Un button

    -Un textBox que en las propiedades de enable=false

    -Un datagridview

    - Un modulo donde tengo funciones

    1.- Al hacer clic en en Button se llena el Datagridview, este datagrid contiene una columna que se llama nombre

    2.- Al hacer doble clic sobre el datagridview el TextBox toma el valor de lo que contiene la fila del datagridview.


    De acuerdo a ciertas validaciones que tengo en el button mando a limpiar el contenido del TextBox. 

    Pero suceden dos cosas:

    A)  Si en el button despues del codigo de validaciones coloco lo siguiente:

         me.TextBox.text="" si limpia el control

    B) Pero si la linea de código mencionada en el inciso A) la coloco en un modulo, en la siguiente función:

    Module Module1

    Public frmPrin As New FrmPrincipal

    Public Function LimpiaTxt()
            frmPrin.TextBox.Text = ""
            Return 0
        End Function

    End Module

    No limpia el control de texto.

    Que estaré haciendo mal. 




    marcela

    miércoles, 3 de febrero de 2016 20:10

Respuestas

  • El problema es que en el módulo estás creando un nuevo formulario del tipo FrmPrincipal (aunque no lo muestres en pantalla):

    Public frmPrin As New FrmPrincipal
     

    y es el TextBox de este nuevo formulario el que estás limpiando.

    Si quieres que una función del módulo limpie el TextBox del formulario actual deberías pasarle como parámetro el formulario en el que te encuentras:

    Module Module1
    
    Public Function LimpiaTxt(frmPrin As FrmPrincipal)
             frmPrin.TextBox.Text = ""
             Return 0
         End Function 
    
    End Module
    

    De esta forma podrías llamar a la función desde el formulario principal con:

    LimpiaTxt(Me)


    Píldoras .NET
    Artículos, tutoriales y ejemplos de código .NET

    Píldoras JS
    Artículos, tutoriales y ejemplos de código JavaScript, HTML5, CSS3, ...

    miércoles, 3 de febrero de 2016 20:28

Todas las respuestas

  • El problema es que en el módulo estás creando un nuevo formulario del tipo FrmPrincipal (aunque no lo muestres en pantalla):

    Public frmPrin As New FrmPrincipal
     

    y es el TextBox de este nuevo formulario el que estás limpiando.

    Si quieres que una función del módulo limpie el TextBox del formulario actual deberías pasarle como parámetro el formulario en el que te encuentras:

    Module Module1
    
    Public Function LimpiaTxt(frmPrin As FrmPrincipal)
             frmPrin.TextBox.Text = ""
             Return 0
         End Function 
    
    End Module
    

    De esta forma podrías llamar a la función desde el formulario principal con:

    LimpiaTxt(Me)


    Píldoras .NET
    Artículos, tutoriales y ejemplos de código .NET

    Píldoras JS
    Artículos, tutoriales y ejemplos de código JavaScript, HTML5, CSS3, ...

    miércoles, 3 de febrero de 2016 20:28
  • Ya quedooo, le agradezco mucho por su respuesta rápida saludos....:-)

    marcela

    jueves, 4 de febrero de 2016 15:24
  • Vi este video y me funcionó a las mil maravillas, en la descripción comparten el código: https://www.youtube.com/watch?v=YsTQlwJoPbA
    domingo, 8 de noviembre de 2020 18:07
  • Vi este video y me funcionó a las mil maravillas, en la descripción comparten el código: https://www.youtube.com/watch?v=YsTQlwJoPbA
    domingo, 8 de noviembre de 2020 18:07