C# Chamando resultado entre 2 Forms
16/09/2008
0
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 =][/b:2966aac54b]
Tiagux
Posts
16/09/2008
Ricardo Silva
no form2 vc tera que colocar um atributo e depois preenxer e logo apois mostrar no load da pagina
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 [color=red:7144ed691c]Result [/color:7144ed691c]que sera visivel pois ela é publica e pronto
private void Button1_Click(object sender, EventArgs e) { frm2 f = new frm2(); f.Result = textBox1.Text; f.show(); }
na duvida soh posta
16/09/2008
Tiagux
16/09/2008
Ricardo Silva
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
frm2 f = new frm2();
subistitua pelo nome do form2
Form2 f = new Form2();
usa o intelissense pois é muito util...
na duvida soh posta
16/09/2008
Tiagux
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+ =]
16/09/2008
Ricardo Silva
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 + ´´);
}
[color=red:04cc3d847e]f.Resultado2 = textBox1.Text; [/color:04cc3d847e]
f.Show();
16/09/2008
Tiagux
mais so esta exibindo o ultimo valor 1*10=10.
Espero resposta.
16/09/2008
Ricardo Silva
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
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
17/09/2008
Tiagux
Abraço.
Clique aqui para fazer login e interagir na Comunidade :)