Leudassdf Posted June 19, 2012 at 02:31 PM Report Share #464041 Posted June 19, 2012 at 02:31 PM Boas pessoal. Eu em VB faço isto sender.text para saber o text do objecto em que ocorre o evento click por exemplo mas em c# nao consigo perceber como e que se faz. ja pesquisei em varios sites e nao estou a conseguir saber o texto que se encontra no objecto clicado. e esse objecto pode ser a label1,label2 por ai em diente. Ou seja em vb o que fazia era: Private Sub Label1_Click(sender As System.Object, e As System.EventArgs) Handles Label1.Click, Label2.Click, Label3.Click MsgBox(sender.text) End Sub ou seja ao clicar em qualquer dessas tres labels a messagebox mostraria o texto da label em que cliquei Mas como posso fazer isto em C#? Link to comment Share on other sites More sharing options...
edmolko Posted June 19, 2012 at 04:20 PM Report Share #464121 Posted June 19, 2012 at 04:20 PM Tens que fazer primeiro um cast, por exemplo: Label lb = (Label)sender; MessageBox.Show(lb.Text); Link to comment Share on other sites More sharing options...
Leudassdf Posted June 19, 2012 at 04:28 PM Author Report Share #464123 Posted June 19, 2012 at 04:28 PM Tens que fazer primeiro um cast, por exemplo: Label lb = (Label)sender; MessageBox.Show(lb.Text); ok. obrigada. mas ainda me falta uma coisa e que eu tenho para exemplo isto : private void label1_Click(object sender, EventArgs e) { Label lb = (Label)sender; MessageBox.Show(lb.Text); } mas isto e para o evento label1.click, mas se for para o evento label2 como faço? e que pelo que me parece nao posso criar handles como no vb. ja agora no codigo tens label lb=(label)sender; isso e uma declaraçao da variavel tambem? Link to comment Share on other sites More sharing options...
Sponsor Posted June 20, 2012 at 08:41 AM Report Share #464304 Posted June 20, 2012 at 08:41 AM mas isto e para o evento label1.click, mas se for para o evento label2 como faço? e que pelo que me parece nao posso criar handles como no vb. ja agora no codigo tens label lb=(label)sender; isso e uma declaraçao da variavel tambem? Como fazes para o label1 fazes para a label 2 e todos os controlos que quiseres! Link to comment Share on other sites More sharing options...
Leudassdf Posted June 20, 2012 at 08:47 AM Author Report Share #464306 Posted June 20, 2012 at 08:47 AM Como fazes para o label1 fazes para a label 2 e todos os controlos que quiseres! mas tenho que colocar o codigo dentro de todos os lables(click)? Nao da para fazer como no vb que e so adicionar ao evento click de um label os outro eventos click de todos os outros labels. Link to comment Share on other sites More sharing options...
softklin Posted June 20, 2012 at 12:30 PM Report Share #464350 Posted June 20, 2012 at 12:30 PM Dá para fazeres isso. No local onde mudas as propriedades, deves poder ver lá um símbolo de um trovão amarelo: essa é a zona onde podes alterar o evento. Para cada um dos teus componentes (ou até selecionando todos ao mesmo tempo, deve funcionar), procuras o evento "click" e digitas lá o nome dessa função. NO C#, a definição de eventos de forma programática (no código) está um pouco mais escondida do que no VB.net. Se abrires o ficheiro do formulário na vista de código gerado, reparas nalgumas entradas do género: label1.Click += new EventHandler(<nome_da_funcao>); Isto é a associação de eventos a funções no C#. Nick antigo: softclean | Tens um projeto? | Wiki P@P Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now