Array
(
)

C# Chamando resultado entre 2 Forms

Tiagux
   - 16 set 2008

Pessoal estou com um probleminha, ve se voces podem me ajudar .
em VB eu faço assim:
Public Class Form2

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim intContador As Integer
Dim intTabuda As Integer

Dim F As New Form1

intTabuda = Int32.Parse(TxTTabuda.Text)

For intContador = 1 To 10
With F.TxTResultado
.Text = .Text & vbCrLf & ´O RESULTADO DE: ´ & intTabuda & ´ * ´ & intContador & ´ = ´ & intContador * intTabuda
End With
Next

F.Show()
F.Refresh()

End Sub
End Clas

Como que eu faço isso em c?? tipo eu tenho 2 forms , no form um eu insiro um valor no textBox , insiro um código no button : string a;
a = textBox1.Text;
int cont;

for (cont = 1; cont < 11; cont++)
{

resultado = cont * Convert.ToInt32(a.ToString());
textBox1.Text = (´´ + a + ´*´ + cont + ´=´ + resultado.ToString() + ´´);
}

Esse cógigo serve prar calcular a tabuada do numero digitado , agora como que eu pego esse resultado e ao clicar no button ele abrira o fomr2 com uma textBOx e exibira toda a tabuada do numero .
T+ espero respostas =]

Ricardo Silva
   - 16 set 2008

bom...

no form2 vc tera que colocar um atributo e depois preenxer e logo apois mostrar no load da pagina

#Código
public partial class Form2 : Form {
public Form2() {
InitializeComponent();
}

private string _result;
public string Result {
get { return _result; }
set { _result = value; }
}

private void Load(object sender, EventArgs e) {
messageBox.Show(_result);
}
}


la no botão do form1 vc estancia o Form2 e antes de dar o Show nele vc seta a Propriedade Result que sera visivel pois ela é publica e pronto
#Código
private void Button1_Click(object sender, EventArgs e) {
frm2 f = new frm2();
f.Result = textBox1.Text;
f.show();
}


na duvida soh posta

Tiagux
   - 16 set 2008

Na hora de compilar da erro no f.show();..
pq?

Tiagux
   - 16 set 2008


Citação:
Na hora de compilar da erro no f.show();..
pq? da o erro :Error1Only assignment, call, increment, decrement, and new object expressions can be used as a statementC:\Documents and Settings\Cliente\Desktop\TiaGo\2°Exercicio em C\Exercicio2\Form1.cs19513Exercicio2


Ricardo Silva
   - 16 set 2008

opss
não era pra copiar e colar meu codigo pq eu fiz ele de cabeça
certeza que ia ter erro... o codigo era soh pra dar uma ideia...

se vc copiou e colou o erro ta ali
#Códigofrm2 f = new frm2();
subistitua pelo nome do form2
#CódigoForm2 f = new Form2();

usa o intelissense pois é muito util...

na duvida soh posta

Tiagux
   - 16 set 2008

Nao tem como fazer sem o get e o set?? tipo quase deu certo , na hora que aparece o form 2* , apareco so o 1 resultado da taboada , eu fiz a taboada com o for , ve se tem algum erro :

Form2 f = new Form2();
f.Resultado2 = textBox1.Text;

string a = textBox1.Text;
int cont;

for (cont = 0; cont < 11; cont++)
{

resultado = cont * Convert.ToInt32(a);
textBox1.Text = (´´ + a + ´*´ + cont + ´=´ + resultado + ´´);
}

f.Show();
Espero resposta t+ =]

Ricardo Silva
   - 16 set 2008

claro...

Form2 f = new Form2();

string a = textBox1.Text;
int cont;

for (cont = 0; cont < 11; cont++)
{

resultado = cont * Convert.ToInt32(a);
textBox1.Text = (´´ + a + ´*´ + cont + ´=´ + resultado + ´´);
}
f.Resultado2 = textBox1.Text;
f.Show();

Tiagux
   - 16 set 2008

Tipo de certo , mais parece que nao esta passando pelo for , pq tipo se eu digitar 1 teria q fazer 1*1=1,1=*2=2,1*3=3, e assim ate 1*10=10,
mais so esta exibindo o ultimo valor 1*10=10.
Espero resposta.

Ricardo Silva
   - 16 set 2008

ohhh tiago....

passando pelo for ele ta sim...
vc é que naum esta concatenando a string...
a cada for vc esta setando o valor da string... o que vc tem que fazer é adiciona-lo por exemplo
#Código
string resultado = string.Empyt; //vazio
for(int cont=0; i<11;cont++){
int valor = 1*cont;
resultado += "1 X "+cont+" = " + (1*cont);
}

perceba que estou usando o += (resultado = resultado + ´valor qualquer´) assim vc concatena a sua variavel

Tiagux
   - 17 set 2008

Ai meu Deus aushaus é mesmo , =/ tinha me esquecio , mais da um descontinho ai pq sou iniciante em C =] t+.
Abraço.