none
Saber o valor da propriedade Nome de uma textbox sem informar qual a textbox. RRS feed

  • Pergunta

  • Galera, sou novo aqui no MSDN, e estou com um problema que ainda não achei aqui. Fiz uma classe para substituir letras digitadas com acento em uma textbox. preciso que os acentos sejam removidos ao sair da textbox e, por isso, instanciei a classe(pois a classe fica num arquivo .cs é diferente do arquivo do meu programa) e inseri os comandos no Evento Validating da textbox, conforme mostrado abaixo:

    private void campos_Validating(object sender, CancelEventArgs e)
    {
     SemAcento s = new SemAcento();
     campo.Text = s.Substituir(campo.Text);
    }

    Sendo que, como são muitas textbox's ficaria trabalhoso colocar essas dua linhas no evento validating de todas as textbox's, então, direcionei todas as textbox pro private void campos_Validating... assim:

    Textbox nome: this.nome.Validating += new System.ComponentModel.CancelEventHandler(this.campos_Validating);

    Textbox descricao: this.descricao.Validating += new System.ComponentModel.CancelEventHandler(this.campos_Validating);

    Só que pra isso funcionar presiso alterar a linha "campo.Text = s.Substituir(campo.Text);", Onde se lê "campo.Text" tenho que colocar algum comando que informe o nome da textbox selecionada.

    Existe alguma forma de fazer isso? Algum comando C# que me atenda?

    Se alguem puder me ajudar, Agradeço...

    sábado, 21 de abril de 2012 22:11

Respostas

  • Olá Eliézer,

    Em todos os eventos dos controles .NET o primeiro argumento (sender) tem uma referência para o objeto que disparou o evento (no seu caso, a TextBox), portanto basta você fazer um cast para TextBox e alterar o valor...

    void CaixaDeTexto_EventHandler(object sender, EventArgs e)
    {
        var caixaDeTexto = (TextBox)sender;
        caixaDeTexto.Text = "...";
    }


    Abraços,
    Caio Proiete



    Caio Proiete
    Microsoft MVP, MCT, MCPD, MCTS, MCSD
    http://caioproiete.net
    • Marcado como Resposta Eliézer Souza domingo, 22 de abril de 2012 14:56
    sábado, 21 de abril de 2012 22:34
    Moderador

Todas as Respostas

  • Olá Eliézer,

    Em todos os eventos dos controles .NET o primeiro argumento (sender) tem uma referência para o objeto que disparou o evento (no seu caso, a TextBox), portanto basta você fazer um cast para TextBox e alterar o valor...

    void CaixaDeTexto_EventHandler(object sender, EventArgs e)
    {
        var caixaDeTexto = (TextBox)sender;
        caixaDeTexto.Text = "...";
    }


    Abraços,
    Caio Proiete



    Caio Proiete
    Microsoft MVP, MCT, MCPD, MCTS, MCSD
    http://caioproiete.net
    • Marcado como Resposta Eliézer Souza domingo, 22 de abril de 2012 14:56
    sábado, 21 de abril de 2012 22:34
    Moderador
  • Caio, Muito Obrigado mesmo!

    É exatamente o que eu preciso.

    Abraços.

    domingo, 22 de abril de 2012 14:58