none
Apagar o campo de um textbox. RRS feed

  • Pergunta

  • O código abaixo é de um botão

     

    private void BotalNovo_Click(object sender, EventArgs e)

    {if (bsDefault.Current != null)
    {if (ParentTransaction != null)
    {this.Visible = false;
    ParentTransaction.ShowDialog(this);//neste ponto ele chama outra tela (outro form) e neste form o text box terá que vir vazio e ele vem preenchido.
    this.Visible = true;
    }}}

    O que fazer? Se puderem ajudar, agradeço.

     

     

    quarta-feira, 4 de agosto de 2010 11:39

Respostas

  • não sei se é a solução que você quer, mas por que você não muda a propriedade do textbox no form2 para Internal ou Public(você pode fazer isto clicando em cima dele com o botão direito e clicando em properties).

    depois no evento do botão você conseguirá editar o valor do textbox antes do form abrir, como no exemplo abaixo

    private void button1_Click(object sender, EventArgs e)
        {
          Form2 form2 = new Form2();
          form2.textBox1.Text = "teste";
          form2.Show();
        }
    
    quarta-feira, 4 de agosto de 2010 18:28

Todas as Respostas

  • Bah, não sei se entendi muito bem, mas tu pode, no evento de load deste outro form, limpar este textbox (teuTexBox.Text = "").

    Gabriel Bauermann | Representante New Art Webdesing Criação e manutenção de Web Sites Fone (51) 8182 6819 | Email: gabriel.bauermann@gmail.com
    quarta-feira, 4 de agosto de 2010 12:39
  • Nao vejo nenhum codigo ai que limpa a tua caixa de texto.

    O que tu podes fazer e colocar no event_load do form o codigo que apaga o textbox.

    textbox.text=""

    Ou tens de criar uma condicao do tipo, que verefica se existe informacao no textbox, e se existir entao apaga a informacao que esta no textbox.

    if

     

    (this.textBox1.Text.Length > 0) {this.textBox1.Clear();}

     


    Just Be Humble Malange!
    quarta-feira, 4 de agosto de 2010 12:40
    Moderador
  • Cara faz o seguinte no teu Form2 q abre qndo apertas o botão no Evento Load desse form q irá acontecer qndo vc der dois clicks no form2 escreva o seguinte código.

     //No seu Form2
    
    private void Form2_Load(object sender, EventArgs e)
    {
        textBox1.Clear();
        //ou também
        textBox1.ResetText();
        //ou ainda como nosso amigo sitou
        textBox1.Text = "";
    }
    //com isto toda vez q seu Form2 é aberto é disparado o 
    //evento Load e com este código ele apagará qlqr coisa 
    //que esteja escrita no textBox apontando ao carregar o form
    
    

    Se lhe for útil não se sqças de marcar

    Qualquer coisa estamos por ai no fórum

    Att Edney.

    quarta-feira, 4 de agosto de 2010 16:12
  • Olá Malange,

    Sabe o que acontece? Eu não posso digitar no Load porque nele eu preciso da PrimaryKey também. É o seguinte tenho 2 botões: um novo na qual tenho que clicar e ele trará o campo textbox em branco e tenho o botão editar que trará o valor da PrimaryKey para o campo textbox. Então não posso colocar no Load o textbox "   " pois, ele trará em branco para os dois botões.

    O que eu fiz:

    botão novo: (eu tirei o valor da primaryKey e passei o valor dela nullo para o form 2 ):

    FORM1:private void tsbNovo_Click(object sender, EventArgs e)
        { string PrimaryKey = GetPrimaryKey();
          PrimaryKey = string.Empty;
          Form2.PrimaryKey = PrimaryKey;
          this.Visible = false;
          Form2.ShowDialog(this);
          this.Visible = true;      
         }

    Que vai para o seguinte código do form 2 (na qual já estou zerando o meu textbox: 
     private void txtMarca_TextChanged(object sender, EventArgs e)
      { if (this.PrimaryKey == string.Empty) 
       {
        txtMarca.Text = "";
        txtMarca.Enabled = true;
        }}
    Dpois vai para o Load do Form2: (Como a primaryKey é vazia não vai cair aqui).
    private void MarcasTM_Load(object sender, EventArgs e)
      { this.tI_MARCASTableAdapter.Fill (this.dsMarcas.TI_MARCAS);
       if (this.PrimaryKey != string.Empty && this.PrimaryKeyValue != null)
       { DBDefaultBinding.Filter = string.Format("{0}={1}", this.PrimaryKey, this.PrimaryKeyValue);
       } }
    
    
    Agora o código do Botão Editar do FORM1:
    private void tsbEditar_Click(object sender, EventArgs e)
      { string PrimaryKey = GetPrimaryKey();
       Form2.PrimaryKey = PrimaryKey;
       this.Visible = false;
       Form2.PrimaryKeyValue = ((DataRowView)bsDefault.Current)[PrimaryKey];
       Form2.ShowDialog(this);
       this.Visible = true; } 
    Ele está com a primary key cheia então ele não vai cair no txtMarca_TextChanged e vai cair direto no Load trazendo o valor desta primaryKey para dentro do 
    textox (este valor da primarykey vem do BD.)
    Entendeu? Eu até estou conseguindo limpar, só que agora preciso de outra ajuda: Para o meu botão NOVO quando clico nele:
    o meu textbox não está mais escrevendo. E mesmo colocando o valor enable para o textbox ele não escreve mais.

     

    quarta-feira, 4 de agosto de 2010 18:08
  • Olá Edney,

    Sabe o que acontece? Eu não posso digitar no Load porque nele eu preciso da PrimaryKey também. É o seguinte tenho 2 botões: um novo na qual tenho que clicar e ele trará o campo textbox em branco e tenho o botão editar que trará o valor da PrimaryKey para o campo textbox. Então não posso colocar no Load o textbox "   " pois, ele trará em branco para os dois botões.

    O que eu fiz:

    botão novo: (eu tirei o valor da primaryKey e passei o valor dela nullo para o form 2 ):

    FORM1:private void tsbNovo_Click(object sender, EventArgs e)
        { string PrimaryKey = GetPrimaryKey();
          PrimaryKey = string.Empty;
          Form2.PrimaryKey = PrimaryKey;
          this.Visible = false;
          Form2.ShowDialog(this);
          this.Visible = true;      
         }

    Que vai para o seguinte código do form 2 (na qual já estou zerando o meu textbox: 
     private void txtMarca_TextChanged(object sender, EventArgs e)
      { if (this.PrimaryKey == string.Empty) 
       {
        txtMarca.Text = "";
        txtMarca.Enabled = true;
        }}
    Dpois vai para o Load do Form2: (Como a primaryKey é vazia não vai cair aqui).
    private void MarcasTM_Load(object sender, EventArgs e)
      { this.tI_MARCASTableAdapter.Fill (this.dsMarcas.TI_MARCAS);
       if (this.PrimaryKey != string.Empty && this.PrimaryKeyValue != null)
       { DBDefaultBinding.Filter = string.Format("{0}={1}", this.PrimaryKey, this.PrimaryKeyValue);
       } }
    
     
    Agora o código do Botão Editar do FORM1:
    private void tsbEditar_Click(object sender, EventArgs e)
      { string PrimaryKey = GetPrimaryKey();
       Form2.PrimaryKey = PrimaryKey;
       this.Visible = false;
       Form2.PrimaryKeyValue = ((DataRowView)bsDefault.Current)[PrimaryKey];
       Form2.ShowDialog(this);
       this.Visible = true; } 
    Ele está com a primary key cheia então ele não vai cair no txtMarca_TextChanged e vai cair direto no Load trazendo o valor desta primaryKey para dentro do 
    textox (este valor da primarykey vem do BD.)
    Entendeu? Eu até estou conseguindo limpar, só que agora preciso de outra ajuda: Para o meu botão NOVO quando clico nele:
    o meu textbox não está mais escrevendo. E mesmo colocando o valor enable para o textbox ele não escreve mais.
    quarta-feira, 4 de agosto de 2010 18:15
  • não sei se é a solução que você quer, mas por que você não muda a propriedade do textbox no form2 para Internal ou Public(você pode fazer isto clicando em cima dele com o botão direito e clicando em properties).

    depois no evento do botão você conseguirá editar o valor do textbox antes do form abrir, como no exemplo abaixo

    private void button1_Click(object sender, EventArgs e)
        {
          Form2 form2 = new Form2();
          form2.textBox1.Text = "teste";
          form2.Show();
        }
    
    quarta-feira, 4 de agosto de 2010 18:28
  • Galera, boa noite!

    Estou com um problema para iniciar meu form como vazio adicionei varias formas porem não estão limpando minhas textbox sera que alguém tem alguma solução porque ta muito difícil.

    Segue abaixo meu código.

     private void frmCadastro_Load(object sender, EventArgs e)
            {
                if (this.txtCodigo.Text.Length > 0)
                {
                    this.txtCodigo.Text = "";

                }

                if (this.txtUsuario.Text.Length > 0)
                {
                    this.txtUsuario.Text = "";

                }

                if (this.txtSenha.Text.Length > 0)
                {
                    this.txtSenha.Text = "";

                }

                /*txtUsuario.Clear();
                txtUsuario.Clear();
                txtUsuario.Focus();*/
                

    Obrigado.


    Att, André Côrte Técnico de TI E-mail: andre@cortecobol.com.br Skype: andre.corte4 MSN: andre.r.corte@hotmail.com

    sexta-feira, 5 de outubro de 2012 03:19