TCC em C#
14/03/2012
0
Quero usar as técnicas mais simples que puderem ser usadas.
Tenho 4 textbox. Deve-se responder a perguntas.
caso esteja certa as 4 libera o botão pra próximas perguntas.
Como faço isso de maneira mais simples possível ?
Qual o código para carregar outro form, quando o botão liberado for clicado?
.
Posts
14/03/2012
Bruno Leandro
14/03/2012
.
Meu projeto é para ensinar japonês.
Alias, as regras de validação já estão prontas.
15/03/2012
Joel Rodrigues
Enfim, você precisará fazer basicamente o seguinte:
SE
validar_primeiro E validar_segundo E validar_terceiro E validar_quarto
ENTÃO
liberar_botao;
ou seja,
if(validar_respostas_aqui)
botao.Enabled = true;
ou ainda
botao.Enabled = (validar_respostas)// condição booleana.
Boa sorte.
15/03/2012
Joel Rodrigues
//no Click de um determinado botão btnValidar (que faz a verificação)
public void btnValidar_Click(object sender, EventArgs e)
{
btnProxima.Enabled = (txtResp1.Text == resp1 && txtResp2.Text == resp2 && txtResp3.Text == resp3 && txtResp4.Text == resp4 );
}
Isso equivale a
public void btnValidar_Click(object sender, EventArgs e)
{
if(txtResp1.Text == resp1 && txtResp2.Text == resp2 && txtResp3.Text == resp3 && txtResp4.Text == resp4 )
btnProxima.Enabled = true;
}
Qualquer dúvida, posta aí.
15/03/2012
Joel Rodrigues
SegundoForm frm = new SegundoForm();
frm.ShowDialog();
Melhorando:
//abre o form e, após fechado, o libera da memória
using(SegundoForm frm = new SegundoForm())
{
frm.ShowDialog();
}
Cara, que curso é esse que você está fazendo que agora na hora de fazer o TCC você está com esse tipo de dúvida?
Boa sorte.
15/03/2012
.
pq a cada validação ocorre várias ações. Quando tiver um tempinho deixo bem claro tudo.
Ciência da Computação, sou da turma que gosta de programar, porém não sabe.
Normal, querer aprender somente quando se necessita de verdade!!
16/03/2012
Joel Rodrigues
Quando puder esclarecer melhor, posta aí que a gente tenta ajudar.
18/03/2012
.
São 4 textbox, 1 botão de OK(button1) e 1 botão NEXT(btnNEXT).
No código de cada textbox estão predefinidas as regras para a validação.
(Ex: Se terminar com U, chama o método contador (i++), e o fundo fica verde. Senão, fundo vermelho apenas.)
Em todos textbox tem o método contador e também um método chamado Verifica().
Verifica ()
{
if (i == 4)
{
i = -1;
btnNEXT.Enabled = true;
}
}
Ao clicar no botão NEXT outro formulário com novos exercícios else aberto.
E assim em diante.
Em cada método TXT1, TXT2,TXT3 e TXT4 que setam as regras, mostra uma mensagem com o resultado correto.
Como eu faço para mostrar em apenas 1 messageBox.show() todos resultado?
19/03/2012
Joel Rodrigues
Uma ideia era você fazer todas as validações em um único evento (click de um botão, por exemplo). Então você montaria um string informando se as respostas e quais estão corretas/erradas.
19/03/2012
.
tá aí a maneira que eu fiz a validação:
public TXTBOX1()
{
string frase = textBox1.Text;
frase = frase.Replace(ru, masu);
if (texto.EndsWith(eru))
{
textBox1.BackColor = Color.Green;
pictureBox1.Visible = true;
textBox1.Enabled = false;
contador(); verifica();
MessageBox.Show(frase);
}
}
private void button1_Click(object sender, EventArgs e)
{
TXTBOX1();
}
Tá funcionando assim. Porém, em cada validação dessa, tem o MessageBox.Show();
Como faço para aparecer em um só MessageBox todas as frase ?
19/03/2012
Joel Rodrigues
Como você quer ´´a forma mais simples´´, não vou sugerir muita coisa, mas com certeza dá pra enxugar esse seu código.
Boa sorte.
21/03/2012
.
Vlw. Aguardem que novas dúvidas me surgirão. ;)
Thanks guys
22/03/2012
Joel Rodrigues
Explicação: cada vez que você altera uma variável do tipo string, um novo objeto é criado na memória com o novo valor e o antigo é descartado (fica sem uso até que o Garbage Collector se encarregue de liberar a memória por ele utilizada). Utilizando o StringBuilder, você criar apenas um objeto e pode alterá-lo várias vezes. Utilize o método Append(string) para concatenar o string e o ToString() para obter o resultado final.
Boa Sorte.
22/03/2012
.
Depois dou uma olhada na net. Vlw
Como eu poderia fazer um mini-menu do tipo índice.
Verbos
..Regulares (OK APROVADO)
..Irregulares (OK APROVADO)
Gramática
..Gramática 1 (OK APROVADO)
..Gramática 2 (não aprovado ainda)
..Gramática 3 (não aprovado ainda)
Nesse menu, tem um evento click que abre o respectivo form.
E como eu poderia salvar o progresso da pessoa que estaria passando por estas fases ?
22/03/2012
Joel Rodrigues
http://msdn.microsoft.com/pt-br/library/aa730869(v=vs.80).aspx
Outra forma seria ter uma variável estática em algum lugar (uma classe, um form, etc).
Para criar o menu, você já montou o menu e quer alterar o caption para APROVADO ou NÃO APROVADO ou você ainda nem criou o menu?
Clique aqui para fazer login e interagir na Comunidade :)