Lunes 18 de Noviembre de 2024, 00:50
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
CLR: .Net / Mono / Boo / Otros CLR
»
C#
(Moderador:
ProfesorX
) »
Sumar valores de distinas ventanas (Form1, Form2 etc..)
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: Sumar valores de distinas ventanas (Form1, Form2 etc..) (Leído 3348 veces)
richystrikis
Nuevo Miembro
Mensajes: 5
Sumar valores de distinas ventanas (Form1, Form2 etc..)
«
en:
Lunes 23 de Mayo de 2011, 04:37 »
0
Hola
Necesito ayuda, hice un programa para mi clase, y ya lo tengo casi todo listo.
Este es un programa donde esta incluido un menú de restaurante, donde está divido en diferentes secciones (Forms,2,3,4,5) que serian desayunos, comida, bebidas, postres, están cada una en sus ventanas, y cada producto tiene precio y suma las cantidades que el usuario quiere pedir, todo va bien, y cuando termina de sumar crea un ''Subtotal'' de cada seccion ahora quiero sumar todos los subtotales (desayunos comidas bebidas postres) y ponerlos en la ventana principal el resultado para tener un ''total'' o lo que se podría decir ''la cuenta total'' pero mi problema es que cada uno esta en diferentes ventanas o Forms y no se como sumarlas si cada una esta en la ventana y no puedo incluir las diferentes en una sola ¿Como le hago necesito ayuda!?
Gracias
Tweet
tannke
Miembro MUY activo
Mensajes: 152
Nacionalidad:
Re: Sumar valores de distinas ventanas (Form1, Form2 etc..)
«
Respuesta #1 en:
Lunes 23 de Mayo de 2011, 17:13 »
0
Una manera sencilla de hacerlo sería la siguiente:
Formulario principal, desde donde habrimos todos los formularios
Código: C#
public
partial
class
Form1
:
Form
{
public
Form1
(
)
{
InitializeComponent
(
)
;
}
Form2 f2
=
new
Form2
(
)
;
//declaramos los nuevos formularios GLOBALMENTE
private
void
Form1_Load
(
object
sender, EventArgs e
)
{
f2
.
Show
(
)
;
//En el load o donde sea, abrimos los formularios
}
private
void
button1_Click
(
object
sender, EventArgs e
)
{
textBox1
.
Text
=
f2
.
Variable
;
//en este caso, desde el boton cogemos la variable PUBLICA
//del primer formulario
}
}
Aqui uno de los formularios:
Código: C#
public
partial
class
Form2
:
Form
{
public
Form2
(
)
{
InitializeComponent
(
)
;
}
public
string
Variable
=
"tannke"
;
}
Espero quede claro con estas lineas. hay maneras mas bonitas de hacerlo, con delegados y eventos, pero para este caso puede servirte.
Si no entiendes algo avisa. Un saludo
richystrikis
Nuevo Miembro
Mensajes: 5
Re: Sumar valores de distinas ventanas (Form1, Form2 etc..)
«
Respuesta #2 en:
Martes 24 de Mayo de 2011, 04:30 »
0
Mira lo tengo así pero me dice que el contexto ''variable no existe''
es la principal (Form1)
Código: C#
using
System
;
using
System.Collections.Generic
;
using
System.ComponentModel
;
using
System.Data
;
using
System.Drawing
;
using
System.Text
;
using
System.Windows.Forms
;
namespace
WindowsApplication1
{
public
partial
class
Form1
:
Form
{
public
Form1
(
)
{
InitializeComponent
(
)
;
}
Form2 f2
=
new
Form2
(
)
;
private
void
Form1_Load
(
object
sender, EventArgs e
)
{
f2
.
Show
(
)
;
}
private
void
button1_Click
(
object
sender, EventArgs e
)
{
Console
.
Beep
(
350
,
100
)
;
//Definir la apertura de la nueva ventana
Form2 UnaHija
=
new
Form2
(
)
;
UnaHija
.
Show
(
)
;
this
.
Hide
(
)
;
}
private
void
button2_Click
(
object
sender, EventArgs e
)
{
Console
.
Beep
(
350
,
100
)
;
//Definir la apertura de la nueva ventana
Form3 UnaHija
=
new
Form3
(
)
;
UnaHija
.
Show
(
)
;
this
.
Hide
(
)
;
}
private
void
button3_Click
(
object
sender, EventArgs e
)
{
Console
.
Beep
(
350
,
100
)
;
//Definir la apertura de la nueva ventana
Form4 UnaHija
=
new
Form4
(
)
;
UnaHija
.
Show
(
)
;
this
.
Hide
(
)
;
}
private
void
button4_Click
(
object
sender, EventArgs e
)
{
Console
.
Beep
(
350
,
100
)
;
//Definir la apertura de la nueva ventana
Form5 UnaHija
=
new
Form5
(
)
;
UnaHija
.
Show
(
)
;
this
.
Hide
(
)
;
}
private
void
button5_Click
(
object
sender, EventArgs e
)
{
textBox1
.
Text
=
f2
.
Variable
;
}
}
}
En donde dice '' private void button5_Click(object sender, EventArgs e'' es el botón donde quiero que al darle click me calcule el subtotal dela Form2, Form3, Fomr4, Form5, y me la ponga en una caja de texto (Textbox1.text) que está en la Form1 que es esa que te presento
tannke
Miembro MUY activo
Mensajes: 152
Nacionalidad:
Re: Sumar valores de distinas ventanas (Form1, Form2 etc..)
«
Respuesta #3 en:
Martes 24 de Mayo de 2011, 16:39 »
0
en tu form2 tienes una variable tipo "string" declarada con el nombre "Variable" y publica?
richystrikis
Nuevo Miembro
Mensajes: 5
Re: Sumar valores de distinas ventanas (Form1, Form2 etc..)
«
Respuesta #4 en:
Miércoles 25 de Mayo de 2011, 05:10 »
0
Listo ya la puse la variable string publica ahora quiero poner el resultado de una MaskedTextBox1.Text de cada Form para que lo sume como le hago?
tannke
Miembro MUY activo
Mensajes: 152
Nacionalidad:
Re: Sumar valores de distinas ventanas (Form1, Form2 etc..)
«
Respuesta #5 en:
Miércoles 25 de Mayo de 2011, 20:14 »
0
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
Nuevo Miembro
Mensajes: 5
Re: Sumar valores de distinas ventanas (Form1, Form2 etc..)
«
Respuesta #6 en:
Lunes 6 de Junio de 2011, 02:13 »
0
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
Miembro MUY activo
Mensajes: 402
Nacionalidad:
Re: Sumar valores de distinas ventanas (Form1, Form2 etc..)
«
Respuesta #7 en:
Lunes 6 de Junio de 2011, 15:40 »
0
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!
@gabio87
richystrikis
Nuevo Miembro
Mensajes: 5
Re: Sumar valores de distinas ventanas (Form1, Form2 etc..)
«
Respuesta #8 en:
Lunes 6 de Junio de 2011, 18:10 »
0
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
gabio2
Miembro MUY activo
Mensajes: 402
Nacionalidad:
Re: Sumar valores de distinas ventanas (Form1, Form2 etc..)
«
Respuesta #9 en:
Lunes 6 de Junio de 2011, 18:31 »
0
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..
@gabio87
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
CLR: .Net / Mono / Boo / Otros CLR
»
C#
(Moderador:
ProfesorX
) »
Sumar valores de distinas ventanas (Form1, Form2 etc..)