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

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

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

Aceitar