Inquiridor
Check Box C# Visual Studio

Pergunta
-
Olá Pessoal,
Tenho o seguinte cenário: tenho uma aplicação windows form com 4 checks boxs, dois botões um ler e outro gravar.
O que preciso é o seguinte: quando eu clicar em ler ele busca os dados em um arquivo .txt que contém 4 linhas;
Dependendo do conteúdo da linha, ele vai marcar ou desmarcar o check box. ou seja imagine o status de um cliente
que está numa base .TXT se o cliente tiver restrição ele marca o checkbox para mim, caso não ele deixa desmarcado.
O código abaixo está ok, funcionado apenas faltando essa última parte que é marcar o check box de acordo com o que estiver no arquivo .TXT.
Usando MessageBox funcionou, mas eu preciso ao invés de mostrar mensagem, marcar o checkbox. se alguem puder ajudar ficarei agradecido..
using System;
using System.Linq;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace InventarioColetWinCE
{
public partial class frmConfig : Form
{
public frmConfig()
{
InitializeComponent();
}
private void label1_ParentChanged(object sender, EventArgs e)
{
}
private void checkBox1_CheckStateChanged(object sender, EventArgs e)
{
if (checkBox1.Checked)
{
label1.Text = "1";
}
else
{
label1.Text = "0";
}
}
private void label2_ParentChanged(object sender, EventArgs e)
{
}
private void checkBox2_CheckStateChanged(object sender, EventArgs e)
{
if (checkBox2.Checked)
{
label2.Text = "1";
}
else
{
label2.Text = "0";
}
}
private void checkBox3_CheckStateChanged(object sender, EventArgs e)
{
if (checkBox3.Checked)
{
label3.Text = "1";
}
else
{
label3.Text = "0";
}
}
private void checkBox4_CheckStateChanged(object sender, EventArgs e)
{
if (checkBox4.Checked)
{
label4.Text = "1";
}
else
{
label4.Text = "0";
}
}
private void button1_Click(object sender, EventArgs e)
{
ClsArquivoTXT LCLS_ArquivoTXT = new ClsArquivoTXT();
LCLS_ArquivoTXT.FU_Gravar(label1.Text, label2.Text, label3.Text, label4.Text);
label1.Text = "";
label2.Text = "";
label3.Text = "";
label4.Text = "";
MessageBox.Show("Gravado com sucesso!");
// this.Close();
}
private void label7_ParentChanged(object sender, EventArgs e)
{
}
private void button2_Click_1(object sender, EventArgs e)
{
if (File.Exists("\\Application\\Inv_2A\\Config\\Configuracoes.txt"))
{
Stream entrada = File.Open("\\Application\\Inv_2A\\Config\\Configuracoes.txt", FileMode.Open);
StreamReader leitor = new StreamReader(entrada);
// int teste = 0;
string linha = leitor.ReadLine();
while (linha != null)
{
// MessageBox.Show("Tecle Algo");
label5.Text = linha;
switch (linha)
{
case "ITENS_TXT=0":
// if (checkBox1.CheckState) = false
// {
// }
// if (teste = 0)
// {
// newstate = (checkBox1.checked = false);
// }
// MessageBox.Show("CheckBox = Disticado");
break;
case "ITENS_TXT=1":
MessageBox.Show("CheckBox = Ticado");
break;
case "MENSAGEM_NAO_ENCONTRADO=0":
MessageBox.Show("CheckBox = Disticado");
break;
case "MENSAGEM_NAO_ENCONTRADO=1":
MessageBox.Show("CheckBox = Ticado");
break;
case "LEITURA_CONTINUA=0":
MessageBox.Show("CheckBox = Disticado");
break;
case "LEITURA_CONTINUA=1":
MessageBox.Show("CheckBox = Ticado");
break;
case "CONTAGEM_RESUMIDA=0":
MessageBox.Show("CheckBox = Disticado");
break;
case "CONTAGEM_RESUMIDA=1":
MessageBox.Show("CheckBox = Ticado");
break;
}
linha = leitor.ReadLine();
}
leitor.Close();
entrada.Close();
}
}
private void frmConfig_Load(object sender, EventArgs e)
{
}
}
}
Todas as Respostas
-
Olá!
Pelo que entendi você está tentando marcar a checkBox correspondente sempre que os cases "ITENS_TXT=1", "MENSAGEM_NA0_ENCONTRADO=1", "LEITURA_CONTINUA=1" e "CONTAGEM_RESUMIDA=1" forem satisfeitos dentro do switch. Sendo assim, veja se dessa forma funciona:
private void button2_Click_1(object sender, EventArgs e) { if (File.Exists("\\Application\\Inv_2A\\Config\\Configuracoes.txt")) { Stream entrada = File.Open("\\Application\\Inv_2A\\Config\\Configuracoes.txt", FileMode.Open); StreamReader leitor = new StreamReader(entrada); // int teste = 0; string linha = leitor.ReadLine(); while (linha != null) { // MessageBox.Show("Tecle Algo"); label5.Text = linha; switch (linha) { case "ITENS_TXT=0": checkBox1.Checked = false; break; case "ITENS_TXT=1": checkBox1.Checked = false; break; case "MENSAGEM_NAO_ENCONTRADO=0": checkBox2.Checked = false; break; case "MENSAGEM_NAO_ENCONTRADO=1": checkBox2.Checked = true; break; case "LEITURA_CONTINUA=0": checkBox3.Checked = false; break; case "LEITURA_CONTINUA=1": checkBox3.Checked = true; break; case "CONTAGEM_RESUMIDA=0": checkBox4.Checked = false; break; case "CONTAGEM_RESUMIDA=1": checkBox4.Checked = true; break; } linha = leitor.ReadLine(); } leitor.Close(); entrada.Close(); } }
“First do it, then do it right, then do it better.” # Introdução ao C# - Uma Abordagem Prática (Módulo I) https://www.udemy.com/course/introducao-ao-c-uma-abordagem-pratica-modulo-i/?referralCode=8C11BF75D94DADB41112