none
Duvida em TextBox RRS feed

  • Pergunta

  • Boa tarde amigos.

    Tenho 5 checkbox dentro de um panel e 5 textbox dentro de outro panel.

    Eu preciso fazer o seguinte: os textos dos checkbox são numerados de 1 a 5.

    Quando for clicado um checkbox, por exemplo, no terceiro, eu gostaria que o número 3 aparecesse no textbox 3.

    Se for clicado o checkbox 1, o número 1 deve aparecer no texbox1.

    E assim para todos.

    Preciso dessa ajuda. Já tentei mas não consegui como descobrir o textbox correspondente.

    Obrigado


    Taveira

    quinta-feira, 13 de agosto de 2020 19:13

Respostas

Todas as Respostas

  • Boa tarde.

    Veja se te ajuda. Se ajudou, por gentileza, marque como resposta/útil.

     private void checkBox1_CheckedChanged(object sender, EventArgs e)
            {
                if (checkBox1.Checked == true)
                    textBox1.Text = checkBox1.Text;
                else
                    textBox1.Text = "";
            }

            private void checkBox2_CheckedChanged(object sender, EventArgs e)
            {
                if (checkBox2.Checked == true)
                    textBox2.Text = checkBox2.Text;
                else
                    textBox2.Text = "";
            }

            private void checkBox3_CheckedChanged(object sender, EventArgs e)
            {
                if (checkBox3.Checked == true)
                    textBox3.Text = checkBox3.Text;
                else
                    textBox3.Text = "";
            }

            private void checkBox4_CheckedChanged(object sender, EventArgs e)
            {
                if (checkBox4.Checked == true)
                    textBox4.Text = checkBox4.Text;
                else
                    textBox4.Text = "";
            }

            private void checkBox5_CheckedChanged(object sender, EventArgs e)
            {
                if (checkBox5.Checked == true)
                    textBox5.Text = checkBox5.Text;
                else
                    textBox5.Text = "";
            }


    Não se esqueça de ativar o evento de cada checkbox nas propriedades, como abaixo:


    • Editado Mariano1776 quinta-feira, 13 de agosto de 2020 19:51
    quinta-feira, 13 de agosto de 2020 19:48
  • Olá Mariano.

    Muito obrigado pela sua solução.

    É quase isso, mas se não der para fazer a minha ideia, eu uso isso. Talvez não expliquei direito.

    A ideia é, primeiro marcar os checkbox desejado e depois, ao apertar um botão, por exemplo, os textos apareceriam nos textboxs. É complicado isso?

    Eu tentei fazer assim:

                int contaacerto = 0, num;
                foreach (Control ctrl in panel16.Controls)
                {
                    CheckBox CheckB = (CheckBox)ctrl;
                    if (CheckB.Checked)
                    {
                        //textBoxXXXX.Text = CheckB.Text;
                                                   
                }

    Mas pegou o textbox.

    Muito obrigado.

    Taveira


    Taveira


    quinta-feira, 13 de agosto de 2020 20:06
  • Não entendi porque você quer fazer o loop.

    Segue sugestão.

     private void button6_Click(object sender, EventArgs e)
            {
                if (checkBox1.Checked == true)
                    textBox1.Text = checkBox1.Text;
                else
                    textBox1.Text = "";

                if (checkBox2.Checked == true)
                    textBox2.Text = checkBox2.Text;
                else
                    textBox2.Text = "";

                if (checkBox3.Checked == true)
                    textBox3.Text = checkBox3.Text;
                else
                    textBox3.Text = "";

                if (checkBox4.Checked == true)
                    textBox4.Text = checkBox4.Text;
                else
                    textBox4.Text = "";

                if (checkBox5.Checked == true)
                    textBox5.Text = checkBox5.Text;
                else
                    textBox5.Text = "";
            }


    Ou se isto ajuda

    foreach (Control ctrl in panel1.Controls)
                {
                    if (ctrl.Name = checkBox1 .Name)
                        //textBoxXXXX.Text = CheckB.Text;

                        
                }


    • Editado Mariano1776 quinta-feira, 13 de agosto de 2020 21:06
    • Sugerido como Resposta Mariano1776 quinta-feira, 13 de agosto de 2020 21:30
    quinta-feira, 13 de agosto de 2020 20:59
  • Perfeito Mariano.

    Essa é a solução.

    Obrigado.


    Taveira

    quinta-feira, 13 de agosto de 2020 21:27
  • Por gentileza, marque minha resposta.

    MARIANO1776

    quinta-feira, 13 de agosto de 2020 21:30