Foros del Web » Programación para mayores de 30 ;) » .NET »

Cómo mostrar un aviso (messageBox) sin botones

Estas en el tema de Cómo mostrar un aviso (messageBox) sin botones en el foro de .NET en Foros del Web. Hola amigos, Estoy mostrando unos avisos en VB .NET (messageBox) que sacan información de una base de datos de Access. El problema es que por ...
  #1 (permalink)  
Antiguo 01/09/2006, 04:08
Avatar de SuperPinwi  
Fecha de Ingreso: septiembre-2005
Mensajes: 317
Antigüedad: 19 años, 5 meses
Puntos: 1
Cómo mostrar un aviso (messageBox) sin botones

Hola amigos,

Estoy mostrando unos avisos en VB .NET (messageBox) que sacan información de una base de datos de Access. El problema es que por defecto sale el botón de Aceptar, y si no le das no muestra el siguiente registro. Lo que yo quiero es que no haga falta darle a ningún botón para q muestre el siguiente. Pues lo q tengo q hacer es que muestre también el tiempo q tarda de mostrar uno al siguiente.

Estaré muy agradecida ante cualquier detalle que pueda servir de ayuda

Gracias compañeros
  #2 (permalink)  
Antiguo 01/09/2006, 05:07
Avatar de SuperPinwi  
Fecha de Ingreso: septiembre-2005
Mensajes: 317
Antigüedad: 19 años, 5 meses
Puntos: 1
Se me olvidaba... no tiene q ser necesariamente un MessageBox, es tal como lo tengo implementado ahora, y lo que quiero es conseguir algo similar pero sin botones y que se vaya actualizando continuamente sin recibir ningún tipo de evento.

Gracias
  #3 (permalink)  
Antiguo 01/09/2006, 12:06
Avatar de freegirl
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: Catalonia
Mensajes: 4.334
Antigüedad: 21 años, 5 meses
Puntos: 156
a mi lo que se me ocurre es mostrar la info en un label de un form. Lo único que tendrás que cambiar es el texto del label cada x tiempo. La propiedad "controlbox" del form lo pones a false así ni te muestra ni lo minimizar, max. ni nada.

saludos
  #4 (permalink)  
Antiguo 03/09/2006, 23:13
Avatar de SuperPinwi  
Fecha de Ingreso: septiembre-2005
Mensajes: 317
Antigüedad: 19 años, 5 meses
Puntos: 1
Cita:
Iniciado por freegirl Ver Mensaje
a mi lo que se me ocurre es mostrar la info en un label de un form. Lo único que tendrás que cambiar es el texto del label cada x tiempo. La propiedad "controlbox" del form lo pones a false así ni te muestra ni lo minimizar, max. ni nada.

saludos
muchas gracias freegirl, puede ser una buena solución. Me pondré manos a la obra ahora mismo
  #5 (permalink)  
Antiguo 04/09/2006, 04:09
Avatar de SuperPinwi  
Fecha de Ingreso: septiembre-2005
Mensajes: 317
Antigüedad: 19 años, 5 meses
Puntos: 1
Cita:
Iniciado por freegirl Ver Mensaje
a mi lo que se me ocurre es mostrar la info en un label de un form. Lo único que tendrás que cambiar es el texto del label cada x tiempo. La propiedad "controlbox" del form lo pones a false así ni te muestra ni lo minimizar, max. ni nada.

saludos
ya he creado los formularios con las etiquetas correspondientes, ahora sólo me queda que se vaya actualizando la información (espero poder conseguirlo con la ayuda de un bucle, sin q haga falta un temporizador). Lo que me han pedido es que muestre por pantalla el tiempo q tarda de mostrar un registro al siguiente (para verificar q funcionaría en entornos industriales sin fallos), supongo q tengo q usar un timer verdad? bueno en ese caso sabéis de algún buen tutorial sobre su uso, es q no lo he visto nunca y me resulta tremendamente confuso

Muchas gracias por la ayuda y siento las molestias!!
  #6 (permalink)  
Antiguo 04/09/2006, 11:41
Avatar de freegirl
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: Catalonia
Mensajes: 4.334
Antigüedad: 21 años, 5 meses
Puntos: 156
En el mensaje que tienes que mostrar exactamente? o bien debes mostrar un mensaje cada x tiempo?

Es que si la idea es listar los registros de la BD con un 'select' y a la vez mostrar un mensaje que muestre el intervalo de tiempo de un registro a otro, eso debe ser milésimas de segundo, te aparecerán un montón de mensajes seguidos.

A lo mejor lo he entendido mal...

A ver si te sirve este ejemplo del timer:

http://msdn2.microsoft.com/es-es/lib...ers.timer.aspx

saludos
  #7 (permalink)  
Antiguo 05/09/2006, 00:02
Avatar de SuperPinwi  
Fecha de Ingreso: septiembre-2005
Mensajes: 317
Antigüedad: 19 años, 5 meses
Puntos: 1
Cita:
Iniciado por freegirl Ver Mensaje
En el mensaje que tienes que mostrar exactamente? o bien debes mostrar un mensaje cada x tiempo?

Es que si la idea es listar los registros de la BD con un 'select' y a la vez mostrar un mensaje que muestre el intervalo de tiempo de un registro a otro, eso debe ser milésimas de segundo, te aparecerán un montón de mensajes seguidos.

A lo mejor lo he entendido mal...

A ver si te sirve este ejemplo del timer:

http://msdn2.microsoft.com/es-es/lib...ers.timer.aspx

saludos
Efectivamente eso es lo q me han pedido pero ya me di cuenta de q no tiene mucho sentido porque no tarda nada de tiempo, bueno tal vez si la base de datos es muy grande sí? la q uso como prueba tiene 250 registros, y lo q he notado es q tarda al empezar pero luego los muestra todos seguidos rápidamente... bueno ya se lo voy a comentar al jefe a ver qué me dice jeje

En el mensaje sólo tengo q mostrar datos de una columna de una base de datos... en principio nada más. Lo conseguí con los avisos pero ahora con los formularios todavía no me sale bien.

Voy a echar un vistazo a esa página, mil gracias por la ayuda amiga!
  #8 (permalink)  
Antiguo 05/09/2006, 02:12
Avatar de SuperPinwi  
Fecha de Ingreso: septiembre-2005
Mensajes: 317
Antigüedad: 19 años, 5 meses
Puntos: 1
Al final tras comentarlo me han dicho que es mejor que haga lo que me comentabas tú, de q salga un mensaje cada poco tiempo, así q tengo q usar el timer.

Un problemilla más compañera,
verás, mi aplicación está basada en hilos y debo llamar al método que me utiliza el temporizador desde el método q ejecuta el hilo, y por tanto es compartido. El problema es q no me permite hacer llamadas al timer desde métodos compartidos...



mi código va tal que así:

Public Shared Sub PruebaHilo()
Try
objConn.Open()
objAdapter = New OleDbDataAdapter("SELECT * FROM Actores ORDER BY IdActor", objConn)
dt = New DataTable
objAdapter.Fill(dt)
n = dt.Rows.Count
If n = 0 Then
MessageBox.Show("No se ha encontrado ningún registro que coincida con la selección")
Else
GC.KeepAlive(myTimer) 'aquí da el ERROR
End If
Catch ex As Exception
MessageBox.Show("El proceso ha terminado en un estado impreciso", "Aviso")
End Try
End Sub


Private Shared Sub OnTimedEvent(ByVal source As Object, ByVal e As ElapsedEventArgs, ByVal i As Integer, ByVal n As Integer, ByVal dt As DataTable, ByVal lblActores As Label)
Dim sIdActor, sNombre, sCodPelicula As String
For i = 0 To n - 1
Console.Read()
'Asignar a las variables el contenido del registro
sNombre = dt.Rows(i)("Nombre").ToString

'Mostrar los datos de la fila actual
lblActores.Text = sNombre
Next
End Sub

Y este es el error q sale:
"No se puede hacer referencia a un miembro de instancia de una clase desde un método compartido o un inicializador de método compartido sin una instancia explícita de la clase"

El caso es q ni siquiera se muestra la información en el label del form todavía, supongo q por el error del timer... alguna sugerencia sobre cómo solucionarlo? me estoy volviendo loca

gracias por la ayuda!
  #9 (permalink)  
Antiguo 05/09/2006, 06:53
 
Fecha de Ingreso: septiembre-2006
Mensajes: 3
Antigüedad: 18 años, 6 meses
Puntos: 0
Cita:
Iniciado por SuperPinwi Ver Mensaje
El caso es q ni siquiera se muestra la información en el label del form todavía, supongo q por el error del timer... alguna sugerencia sobre cómo solucionarlo? me estoy volviendo loca
Lo más sensato que puedes hacer, es leer algún libro sobre .net para que no cometas el tipo de errores que acabas de mostrar...
  #10 (permalink)  
Antiguo 06/09/2006, 00:10
Avatar de SuperPinwi  
Fecha de Ingreso: septiembre-2005
Mensajes: 317
Antigüedad: 19 años, 5 meses
Puntos: 1
Cita:
Iniciado por .net Ver Mensaje
Lo más sensato que puedes hacer, es leer algún libro sobre .net para que no cometas el tipo de errores que acabas de mostrar...
llevo poco tiempo programando en .NET (apenas 2 semanas) y lo sé, pero q yo sepa aquí estamos para ayudar y aprender todos...

Gracias por tu simpatía y ayuda

----------------------------------------------

x cierto freegirl, he conseguido solucionar lo del label, aunque tenías mucha razón, se muestran todos los registros en menos de un segundo y es imposible ver algo. Así q seguiré intentando añadir el timer.

Muchas gracias por todo freegirl
  #11 (permalink)  
Antiguo 06/09/2006, 04:40
Avatar de freegirl
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: Catalonia
Mensajes: 4.334
Antigüedad: 21 años, 5 meses
Puntos: 156
hola,

pero ahora que tienes que hacer con el Timer? O sea, por ejemplo que a cada x intervalo te muestre un mensaje? Es sólo una prueba o tiene que ir relacionado con el listar los registros?

Por ejemplo, si a cada 2 segundos debes listar todos los registros y que te los muestre en un label, no hace falta que llames el timer desde ahí.

O sea, pones el 'timer' enabled y la propiedad intervalo = 1000. Entonces desde el evento 'tick' controlas en que intervalo de tiempo quieres que te ejecute el código. Si por ejemplo quieres a los 5 segundos, pues cuando llegue a 5 seg (o sea 5000 ms) te ejecuta el código que hayas puesto.

Cita:
Dim contador As Integer = 0


'En el form load:


Timer1.Enabled = True
Timer1.interval=1000


' En el evento Tick del timer:


Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) _
Handles Timer1.Tick

if contador = 5 then
'aqui podnrías el código que quieras ejecutar cuando pasen los 5 segundos
msgbox("Han pasado 5 segundos")
contador =0
else
contador +=1
end if

End Sub


saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:55.