Revisión del 26/Dic/2001
Pues eso... en una consulta de los news, alguien preguntaba si se podía hacer que se mostrara un formulario con aviso y un botón para cerrarlo, pero que si transcurrido un tiempo no se pulsaba en dicho botón, se cerrara.
Y aquí está... aunque después de tres años... ya que fue en Agosto del 98 cuando respondí a esa pregunta.
La cosa no es complicada, como podrás comprobar, pero, puede que a alguno le pueda resultar interesante.
Aquí tienes el código del formulario que espera y del de prueba.
Más abajo está el link al fichero ZIP con el código completo.Nos vemos.
GuillermoEl código:
'------------------------------------------------------------------------------ ' Delayed Form (25/Ago/98) ' ' Se mostrará este formulario hasta que se pulse en el botón o ' transcurra el tiempo especificado. ' ' El mensaje a mostrar y el tiempo de espera, se indicarán por medio de las ' propiedades: Message y Delay respectivamente. ' ' Para usarla: ' With fDelay ' .Delay = 4000 ' Tiempo de espera en milisegundos ' .Message = "Mensaje a mostrar" ' .Show vbModal, Me ' End With ' ' Revisión del 30/Nov/2000: Nuevas propiedades para el tipo de fuente ' ' ©Guillermo 'guille' Som, 1998-2001 '------------------------------------------------------------------------------ Option Explicit Public Property Get Delay() As Long Delay = Timer1.Interval End Property Public Property Let Delay(ByVal NewDelay As Long) On Error Resume Next ' Timer1.Enabled = False Timer1.Interval = NewDelay If Err Then Err = 0 Timer1.Interval = 10000 End If Timer1.Enabled = True End Property Public Property Get Message() As String Message = Label1.Caption End Property Public Property Let Message(ByVal sNewMsg As String) With Label1 .Caption = sNewMsg .Refresh End With End Property Private Sub Command1_Click() Timer1.Enabled = False Unload Me End Sub Private Sub Form_Unload(Cancel As Integer) Set fDelay = Nothing End Sub Private Sub Timer1_Timer() Timer1.Enabled = False Unload Me End Sub Public Property Get msgFontSize() As Long msgFontSize = Label1.FontSize End Property Public Property Let msgFontSize(ByVal NewValue As Long) On Error Resume Next ' Label1.FontSize = NewValue ' Err = 0 End Property Public Property Get msgFontBold() As Boolean msgFontBold = Label1.FontBold End Property Public Property Let msgFontBold(ByVal NewValue As Boolean) Label1.FontBold = NewValue End Property Public Property Get msgFontName() As String msgFontName = Label1.FontName End Property Public Property Let msgFontName(ByVal NewValue As String) On Error Resume Next ' Label1.FontName = NewValue ' Err = 0 End PropertyEste es el link al código completo: Delayed.zip 3.11KB