comment
IRC Chat
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

Efecto de Scroll Text (Marquesina)

  • 0 Respuestas
  • 3590 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado @ed33x

  • *
  • Underc0der
  • Mensajes: 107
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
    • Email
« en: Enero 22, 2011, 09:22:58 pm »
Este es la forma que descubri yo mismo de hacer el Efecto ese de "Scroll" , osea que el texto va rotando...similar al que aparece en algunos reproductores de musica  ::)

Primero que todo abrimos un nuevo proyecto y en el agregaremos tres controles basicos que seran: un TextBox, un Label y un Boton, creo que la mayoria sabreis como agregar controles a un formulario en Visual Estudio.

Ahora lo siguiente que haremos es ponerles nombre a estos elementos para despues ubicarlos correctamente en el codigo, luego lo haremos de la siguiente forma: txtScroll (TextBox), lblScroll (Label), btnScroll (Boton). Fijad que uso tres letras para definir en el que tipo de Control es y asi tener un poco mas de organizacion.

Ahora al formulario le agregaremos un control de tiempo, osea un Timer, que sera el que nos haga la mayor parte del trabajo :D

Entonces, empezamos por el evento que se realizara al presionar el Boton de "Iniciar Efecto", el cual se encargara de comprobar si se ha escrito texto y de pasarlo este al label para iniciar el efecto, o de devolver el Foco al TextBox.

Código: C#
  1.     Private Sub btnScroll_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnScroll.Click
  2.         If txtScroll.Text = "" Then
  3.             txtScroll.Focus()
  4.         Else
  5.             lblScroll.Text = txtScroll.Text & " "
  6.             Timer1.Start()
  7.         End If
  8.     End Sub[/geshi]
  9.  
  10. Ahora agregaremos algo simple para el textbox, para cuando al dar click se borre el texto anterior, es algo extra pero que es algo funcional :D
  11.  
  12. [geshi=vbnet]    Private Sub txtScroll_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtScroll.Click
  13.         txtScroll.Text = ""
  14.     End Sub

Ahora el evento principal que es el manejado por el Timer1, el cual con cada "pasada" de tiempo, segun lo hayan configurado en la propiedad del Intervalo, seran unos milisegundos o segundos...o como deseen....

Código: C#
  1.     Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
  2.         Dim NuevoTxt, NuevoTxt2
  3.         NuevoTxt = lblScroll.Text.Substring(0, 1)
  4.         NuevoTxt2 = lblScroll.Text.Substring(1)
  5.         lblScroll.Text = NuevoTxt2 & NuevoTxt
  6.     End Sub

Eso es todo, ahora solo falta correr la aplicacion, escribir un texto y probar el efecto para que vean como se ve de bonito  grin

Este seria el codigo final:

Código: C#
  1. Public Class Form1
  2.  
  3.     Private Sub btnScroll_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnScroll.Click
  4.         If txtScroll.Text = "" Then
  5.             'Si no hay texto entonces devolvemos el foco
  6.            txtScroll.Focus()
  7.        Else
  8.            'Si hay texto entonces iniciamos el efecto
  9.             lblScroll.Text = txtScroll.Text & " "
  10.             Timer1.Start()
  11.         End If
  12.     End Sub
  13.  
  14.  
  15.     Private Sub txtScroll_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtScroll.Click
  16.         txtScroll.Text = ""
  17.     End Sub
  18.  
  19.     Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
  20.         'Definimos dos variabkles temporales que seran usadas para hacer el intercambio en el String
  21.        Dim NuevoTxt, NuevoTxt2
  22.        NuevoTxt = lblScroll.Text.Substring(0, 1)
  23.        NuevoTxt2 = lblScroll.Text.Substring(1)
  24.        lblScroll.Text = NuevoTxt2 & NuevoTxt
  25.    End Sub
  26. End Class

Espero sea de su agrado.  ::)

PD: para hacer el efecto mas lento deben modificar el Intervalo del Timer1, y tambien pueden jugar con los atributos del Label y ponerlo en direccion contraria u otro efecto mas :D
« Última modificación: Enero 05, 2015, 09:51:48 am por Expermicid »
Me cambie de messenger ahora es: edeex@live.com

 

¿Te gustó el post? COMPARTILO!



Efecto Agua

Iniciado por Expermicid

Respuestas: 4
Vistas: 3534
Último mensaje Agosto 19, 2013, 12:21:48 am
por Snake0.0