Jump to content

SENDER


Leudassdf
 Share

Recommended Posts

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

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

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

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

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

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.