Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: TheGhost(Z) en 15 Julio 2007, 07:12 am



Título: ¿COMO SABES SI UN FORMULARIO ESTA ACTIVADO?
Publicado por: TheGhost(Z) en 15 Julio 2007, 07:12 am
El siguiente codigo me da el ERROR 5 LLAMADA A PROCEDIMEINTOS O ARGUMENTOS NO VALIDOS.

Código:
Private Sub Form_Load()
For i = 1 To 3
    Combo1.AddItem i
Next i
Combo1.ListIndex = 1
End Sub

Private Sub Combo1_Click()
If Combo1.Text = 1 Then Text1.SetFocus
If Combo1.Text = 2 Then Text2.SetFocus
If Combo1.Text = 3 Then Text3.SetFocus
End Sub

EL ERROR ES QUE EN EL EVENTO Private Sub Form_Load() HE ASIGNADO Combo1.ListIndex = 1 Y COMO EN EL EVENTO Private Sub Combo1_Click() SE vaya AL FOCO DE LOS TEXT''S. COMO ES LOGICO NO PUEDE IR AL FOCO PORQUE AUN EL FOMULARIO NO ESTA CARGADO. PARA ELLO TENDRIA QUE ESTAR EN EL EVENTO Form_Activate().

COMO PUEDO SABER QUE EL FORMULARIO YA ESTE CARGADO. ASI ASIGNARIA QUE SOLO CUANDO EL FORM YA ESTE CALCULADO CORRA LOAS PROCEDIMEINTOS COMO AQUI...

Código:
Private Sub Combo1_Click()
IF ME.ACTIVATE = TRUE THEN
   If Combo1.Text = 1 Then Text1.SetFocus
   If Combo1.Text = 2 Then Text2.SetFocus
   If Combo1.Text = 3 Then Text3.SetFocus
END IF
End Sub


BUENO DE QUE MANERA SE PUEDE HACER DE QUE  IF ME.ACTIVATE = TRUE THEN SE HAGUE REALIDAD. ES DECIR QUE CODIGO SE PONE PARA SABER QUE EL FORMULARIO YA ESTE CARGADO..



Título: Re: ¿COMO SABES SI UN FORMULARIO ESTA ACTIVADO?
Publicado por: Sancho.Mazorka en 15 Julio 2007, 07:18 am
Propiedad Visible

Código
  1. ''''Escritura
  2. Form1.Visible = True
  3. ''''Lectura
  4. Msgbox Form1.Visible

PD: Por favor no escribas en mayusculas, es dificultoso leer!

Sancho.Mazorka    :¬¬


Título: Re: ¿COMO SABES SI UN FORMULARIO ESTA ACTIVADO?
Publicado por: TheGhost(Z) en 15 Julio 2007, 07:29 am
Otra solucion esta en utilziar: If IsFormLoaded = True
Código:
Private Sub Combo1_Click()
If IsFormLoaded = True Then
    If Combo1.Text = 1 Then Text1.SetFocus
    If Combo1.Text = 2 Then Text2.SetFocus
    If Combo1.Text = 3 Then Text3.SetFocus
End If
End Sub