CLR: .Net / Mono / Boo / Otros CLR > C#

 Sumar valores de distinas ventanas (Form1, Form2 etc..)

<< < (2/2)

tannke:
Bueno, me imagino que los MaskedTextBox los tienes en los Forms 2, 3 ,4 y 5. Bueno, pues sería crear en estos una variable tipo "int" o "float" de momento publica para no complicarte y en esta almacenar el valor del MaskedTextBox ya sea a traves de un botón o de cualquier evento (tipo textchanged).

Lo siguiente, viendo tu codigo en el form principal, en los botones donde abres el resto de forms, lo que tienes que hacer es declarar esos forms globalmente algo asi:

--- Código: C# --- Form2 UnaHija2;Form3 UnaHija3;Form4 UnaHija4;Form5 UnaHija5; private void button1_Click(object sender, EventArgs e)        {            Console.Beep(350, 100);             //Definir la apertura de la nueva ventana            UnaHija2 = new Form2();            UnaHija2.Show();            this.Hide();                   } private void button2_Click(object sender, EventArgs e)        {            Console.Beep(350, 100);             //Definir la apertura de la nueva ventana            UnaHija3 = new Form3();            UnaHija3.Show();            this.Hide();        }      ......  
para luego desde cualquier evento (sea boton..) poder llamar a las variables de estos formularios y poder hacer la suma:


--- Código: C# --- private void button5_Click(object sender, EventArgs e)        {             textBox1.Text = (UnaHija2.variableint + UnaHija3.variableint  + ... ).ToString();         }  
Para lo de declarar las variables de momento publicas que te dije mirate el tema de get/set, para segun que cosas es mucho mejor, y en este caso podría ser mejor.

Un saludo

richystrikis:
Hola de nuevo no he podido resolver mi problema por favor ayudame te dejo mi programa para que me hagas que sume los subtotales por fa...

download56.mediafire.com/1719by4c162g/snndxw9g9dhy6ah/WindowsApplication1.zip

ayudame me urgeee
espero no molestarte mucho

gabio2:
Lo que dice tankee, es totalmente correcto, ahora  si no la entendiste, te doy una forma (muy muy similar, para no decir que IGUAL a la que el te dice)...

En cada formulario, declara una variable global DECIMAL y además que sea pública, ejemplo:


--- Código: C# --- public decimal SubTotal = 0.0;  
Entonces en el evento TextChanged de tus MaskedBox de CADA FORMULARIO , deberás poner lo siguiente:


--- Código: C# ---   private void maskedTextBox1_TextChanged(object sender, EventArgs e)        {                   SubTotal = decimal.Parse(maskTextBox1.Text)        }  
Entonces, cuando quieras llamar a tú Total FINAL desde tu "Formulario Principal", me imagino que tendrás algún botón o algo por el estilo, entonces en el evento Click del botón vas a llamar a cada una de las variables "SubTotal" de cada formulario que supongo debería estar abierto (Si tus formularios los cierras obviamente se perderá el valor de tu variable "Subtotal" del formulario que hayas cerrado). Entonces en el evento Click deberá ir lo siguiente:


--- Código: C# --- //Doy por entendido que tienes declaradas ya los objetos de cada formulario (donde supongo abriste los formularios con un objFormulario1.Show(), objFormulario1 seria el objeto de tu Fom1 por ejemplo). decimal  Total = 0.0; private void button1_Click(object sender, EventArgs e)        {               Total = objFormulario1.Subtotal + objFormulario2.Subtotal + objFormularioN.Subtotal; // Aquí la suma de TODOS TUS FORMULARIOS.                       MessageBox.Show(Total.ToString());        }  
Y ya, tienes el TOTAL de todo, este fue un ejemplo rápido, yo en lo personal agregaria unas 2 o 3 validaciones más..  y también lo haría de otra manera solo que es mucho más complicada y pues por la rápidez te explique está forma.. un saludo espero te sirva cualquier duda PREGUNTA! :)..  suerte!

richystrikis:
Lo hice tal cual para que solo me mostrara un subtotal en la principal y me salieron muchos errores :(

espero me lo resuelvas solo ponle lo que dices en mi programa te dejo el link para que lo descargues y lo habras y lo acomodes solo te pido eso por que yo le intento y me salen muchísimos errores

copea y pega:


--- Citar ---download56.mediafire.com/1719by4c162g/snndxw9g9dhy6ah/WindowsApplication1.zip
--- Fin de la cita ---

gabio2:
no lo puedo resolver por tí amigo, yo trabajo y ando ocupado también resolviendo mis propios problemas de mi trabajo (no me estoy quejando, simplemente lo menciono por que estó es para la gente que realmente le gusta resolver problemas por si mismos), esto es para dudas, no hacer tareas, para preguntar, tienes que ser específico, por ejemplo cual fue el PRIMER error que marco.. y por que piensas que puede ser?.. ya luego muestras la linea donde marca el error.. y así se van resolviendo las dudas.. te repito.. almenos.. YO.. NO HAGO TAREAS.. solo ayudo.. .. un saludo.. puedes seguir preguntando..

Navegación

[0] Índice de Mensajes

[*] Página Anterior

Ir a la versión completa