C# Chamando resultado entre 2 Forms

16/09/2008

0

[b:2966aac54b]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 =][/b:2966aac54b]


Tiagux

Tiagux

Responder

Posts

16/09/2008

Ricardo Silva

bom...

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


Responder

16/09/2008

Tiagux

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


Responder

16/09/2008

Tiagux

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



Responder

16/09/2008

Ricardo Silva

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
frm2 f = new frm2();

subistitua pelo nome do form2
Form2 f = new Form2();


usa o intelissense pois é muito util...

na duvida soh posta


Responder

16/09/2008

Tiagux

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+ =]


Responder

16/09/2008

Ricardo Silva

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 + ´´);
}
[color=red:04cc3d847e]f.Resultado2 = textBox1.Text; [/color:04cc3d847e]
f.Show();


Responder

16/09/2008

Tiagux

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.


Responder

16/09/2008

Ricardo Silva

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
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


Responder

17/09/2008

Tiagux

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


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar