Visual Basic - Solo para expertos

Life is soft - evento anual de software empresarial
 
Vista:

Solo para expertos

Publicado por Federico (54 intervenciones) el 06/12/2005 14:41:14
Necesito poder cambiar de un formulario en tiempo de ejecucion si es modal o no, osea si yo ejectuo esto Form1.Show vbmodal, me gustaria poder cambiarlo a no modal una ves abierto el formulario, o si yo ejecuto Form1.Show poder pasarlo a modal

Muchas Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Solo para expertos

Publicado por Pablo (33 intervenciones) el 06/12/2005 17:29:50
Me parecio un desafio, y me puse a inventar algo.....fijate si te va! al hacer click en command button 1 este cód te muestra el form2 directamente en modal ya que la pro. Tag por defecto es vbnullstring (""). Luego si haces un click en el From2 pasa a no modal, otro click y se hace modal... La cagada de todo esto que al usar Unload Form2 se te van a hacer pedaso los datos que tengas en los TextBox, si es que vas a tener. Probe reemplazando Unload Form2 x From2.Hide, no falla, pero no anda de la misma forma....fijate si te sirve, vienvenido sea...

Option Explicit
'Mete esto en el Form1
Private Sub Command1_Click()
If Form2.Tag = "" Then
Unload Form2
Form2.Tag = "modal"
Form2.Show 1
Form2.Tag = ""
ElseIf Form2.Tag = "modal" Then
Form2.Tag = ""
Form2.Show
End If
End Sub
'--------------------------------
Y esto va en el otro From. (Form2 x eje.)
Lo que podes cambiar es el evento Form_Click(), no se, se me ocurre q quizas quiera que suceda este cambio fantasma al darle enter en un combo, que se yo para que queres esto...MMMmmm?

Option Explicit
Private Sub Form_Click()
If Form2.Tag = "modal" Then 'Pasa a no modal
Unload Form2
Form2.Show
ElseIf Form2.Tag = "" Then
Unload Form2
Form2.Tag = "modal"
Form2.Show 1 'Lo vuelve modal
End If
End Sub

Private Sub Form_Unload(Cancel As Integer)
If Form2.Tag = "modal" Then
Form2.Tag = ""
ElseIf Form2.Tag = "" Then
Form2.Tag = "modal"
End If
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar