Usuário com melhor resposta
Duvida em TextBox

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
Respostas
-
Por gentileza, marque minha resposta.
MARIANO1776
- Marcado como Resposta José Carlos Taveira domingo, 14 de fevereiro de 2021 00:31
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
-
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
- Editado José Carlos Taveira quinta-feira, 13 de agosto de 2020 20:13
-
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
-
Perfeito Mariano.
Essa é a solução.
Obrigado.
Taveira
- Marcado como Resposta José Carlos Taveira quinta-feira, 13 de agosto de 2020 21:27
- Não Marcado como Resposta José Carlos Taveira segunda-feira, 30 de maio de 2022 11:37
-
Por gentileza, marque minha resposta.
MARIANO1776
- Marcado como Resposta José Carlos Taveira domingo, 14 de fevereiro de 2021 00:31