mcelmo Postado Setembro 8, 2005 Denunciar Share Postado Setembro 8, 2005 alo pessoal , Gostaria de saber como faço para um determinado texto ficar rolando no meu formulario da direita para a esquerda por um determinado tempo.detalhe uso VS2003. No mais agradeço desde já. Caso alguém tenha algum exemplo, sera bem vindo. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Setembro 9, 2005 Denunciar Share Postado Setembro 9, 2005 Declare isso dentro da sua classe: Label l = new Label(); void eventoTick(object sender, System.EventArgs e) { if ((l.Left+l.Width)<this.Width) l.Left += 10; } Depois, coloque isso no evento onde você quer que o movimento se dê início (um click de um botão, por exemplo): Timer t = new Timer(); l.Text = "teste"; this.Controls.Add(l); t.Interval = 100; t.Tick += new System.EventHandler(this.eventoTick); t.Start();Certo? Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 mcelmo Postado Setembro 9, 2005 Autor Denunciar Share Postado Setembro 9, 2005 Graymalkin, muito obrigado pela ajuda, mas estou trabalhando em vb.net e desta forma me deu alguns erros, mas mesmo assim estou tentando adaptar para o que preciso. Muito Obrigado mesmo. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 mcelmo Postado Setembro 9, 2005 Autor Denunciar Share Postado Setembro 9, 2005 Graymalkin, Me desculpe mas estou tentando fazer este codigo no VB.NET e não consegui, você poderia me dar algumas instruções ???.Valeu. Mcelmo Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Setembro 10, 2005 Denunciar Share Postado Setembro 10, 2005 O código é quase todo igual, exceto a parte da definição do evento (em C# é pela sobrecarga de += e em VB.NET é pela instrução AddHandler). Aquela primeira parte: Dim l As New Label() Private Sub eventoTick(sender As Object, e As System.EventArgs) If l.Left+l.Width<Me.Width Then l.Left += 10 End If End Sub E, a segunda parte, no evento que deverá dar início ao movimento: Dim t As New Timer() l.Text = "teste" Me.Controls.Add(l) t.Interval = 100 AddHandler t.Tick, AddressOf Me.eventoTick t.Start()Certo? Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 mcelmo Postado Setembro 12, 2005 Autor Denunciar Share Postado Setembro 12, 2005 Funcionou !. Mas o texto esta ficando parado no canto superior a direita, como faço para o mesmo ficar passando na tela como um loop até que uma condição fosse estabelecida?. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Setembro 13, 2005 Denunciar Share Postado Setembro 13, 2005 Funcionou !. Mas o texto esta ficando parado no canto superior a direita, como faço para o mesmo ficar passando na tela como um loop até que uma condição fosse estabelecida?. Aquele If em eventoTick serve justamente para esse propósito. Basta trocar aquele condição lá pelo que você quiser (e também zerar a posição quando chegar no final da tela, é claro).Abraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 mcelmo Postado Setembro 15, 2005 Autor Denunciar Share Postado Setembro 15, 2005 Graymalkin.Me desculpe pela insistencia, é que sou novato no vb.netmas você poderia por favor me descrever esta linha de comando. pois não consegui colocar o texto passando pela tela, e como controlar a ALTURA (quero dizer posicionamento) do Texto no video. Dim l As New Label() Private Sub eventoTick(sender As Object, e As System.EventArgs)--> If l.Left+l.Width<Me.Width Then l.Left += 10 End If End Submcelmo. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 §uiciDa£ Postado Setembro 15, 2005 Denunciar Share Postado Setembro 15, 2005 hehe, num so o graymalkin, maix axo q sirvo ...Dim l As New Label() '<------ Cria uma nova label instanciada de lPrivate Sub eventoTick(sender As Object, e As System.EventArgs) if left+l.Width<Me.Width Then '<------ SE L.LEFT(posiçao) + L.WIDTH(largura) for menor q a largura do formulario (me.width) faz a seguinte instruçaol.Left += 10 ' <------ a label 'l' mexe 10pixels para esquerdaEnd IfEnd Sube para mexer pra cima e pra baxo você muda:width(largura) para hight(altura)left(posiçao na horizontal) patra top(posiçao na vertical)t++ Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 mcelmo Postado Setembro 15, 2005 Autor Denunciar Share Postado Setembro 15, 2005 OK. muito obrigado Funcionou !!!! valeu meu camarada.brigadão. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Setembro 16, 2005 Denunciar Share Postado Setembro 16, 2005 hehe, num so o graymalkin, maix axo q sirvo ... Claro que serve! Foi mais rápido que eu... hehehehe. Abraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
mcelmo
alo pessoal ,
Gostaria de saber como faço para um determinado texto ficar rolando no meu formulario da direita para a esquerda por um determinado tempo.
detalhe uso VS2003. No mais agradeço desde já. Caso alguém tenha algum exemplo, sera bem vindo.
Link para o comentário
Compartilhar em outros sites
10 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.