elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Como puedo sumar valores usando 1 solo txtbox en C#
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Como puedo sumar valores usando 1 solo txtbox en C#  (Leído 10,683 veces)
Ila26

Desconectado Desconectado

Mensajes: 22


Ver Perfil
Como puedo sumar valores usando 1 solo txtbox en C#
« en: 2 Septiembre 2014, 02:30 am »

Saludos...

mi pregunta es como puedo sumar valores usando un txtbox

por ejemplo quiero entrar el precio de unos articulos en un txtbox digamos

1.55
.89
1.25

cada ves que entre un valor el txtbox deberia quedar vacio usando string.empty;

me imagino que seria usando 2 botones uno para ir agregando los valores y otro para que me devuelva la suma.


espero que me puedan ayudar se los agradecere de todo corazon.


En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.810



Ver Perfil
Re: Como puedo sumar valores usando 1 solo txtbox en C#
« Respuesta #1 en: 2 Septiembre 2014, 03:09 am »

cada ves que entre un valor el txtbox deberia quedar vacio usando string.empty;
Incorrecto, deberías usar el método TextBox.Clear

me imagino que seria usando 2 botones uno para ir agregando los valores y otro para que me devuelva la suma.
Podrías evitar ese botón aidicional, capturando la tecla Enter en el textbox donde introdujeses el valor, pero lo cierto es que me parece más correcto hacer lo que dices, añadir un botón y presionarlo para realizar la suma.

2 botones uno para ir agregando los valores
¿Entonces el TextBox es multilinea? (¿ TextBox.Multiline = True ?), o es SingleLine y separas los valores con espacios u otro delimitador, o...?

Mientras no aclares ese importante detalle es confuso lo que dices, pero sea como sea parece que tienes la idea del desarrollo clara, ¿en que necesitas ayuda?.

Saludos!


« Última modificación: 2 Septiembre 2014, 03:15 am por Eleкtro » En línea

Ila26

Desconectado Desconectado

Mensajes: 22


Ver Perfil
Re: Como puedo sumar valores usando 1 solo txtbox en C#
« Respuesta #2 en: 2 Septiembre 2014, 03:28 am »

Como me explico

digamos que es una caja registradora,la caja no tiene varios txtboxes

solo tiene 1

es exactamente lo que quiero lograr
con un boton ir agregando los precios de x articulos y al final en ese mismo txtbox obtener el total

nose si me logre explicar bien
En línea

Ila26

Desconectado Desconectado

Mensajes: 22


Ver Perfil
Re: Como puedo sumar valores usando 1 solo txtbox en C#
« Respuesta #3 en: 2 Septiembre 2014, 03:30 am »

el txtbox es singleline
lo que hago es entro el valor
1.25
vacio el campo con txtbox.text=string.empty
y luego entro otro valor

.89

y con el otro boton obtener la suma
En línea

samuelhm

Desconectado Desconectado

Mensajes: 28



Ver Perfil
Re: Como puedo sumar valores usando 1 solo txtbox en C#
« Respuesta #4 en: 2 Septiembre 2014, 03:50 am »

haber si esto te da una idea, sumas con enter, y obtienes el resultado pulsando el espacio:

 
Código
  1.  public partial class Form1 : Form
  2.    {
  3.        double suma = 0;
  4.        public Form1()
  5.        {
  6.            InitializeComponent();
  7.        }
  8.  
  9.        private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
  10.        {
  11.             if (e.KeyChar == (char)Keys.Enter) //sumar
  12.             {
  13.                 suma += Convert.ToDouble(this.textBox1.Text);
  14.                 textBox1.Clear();
  15.  
  16.             }
  17.             if (e.KeyChar == (char)Keys.Space) ///resultado
  18.             {
  19.  
  20.                 textBox1.Clear();
  21.                 textBox1.Text = suma.ToString();
  22.  
  23.             }
  24.        }
  25.    }

Es muy rudimentario y tendrias que asegurarte que hay numeros y tal, pero para que te hagas una idea. asi no usarias ni botones, solo el textbox.

Ademas, asi te ahorrarias que fuera multiline
« Última modificación: 2 Septiembre 2014, 04:06 am por Eleкtro » En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.810



Ver Perfil
Re: Como puedo sumar valores usando 1 solo txtbox en C#
« Respuesta #5 en: 2 Septiembre 2014, 04:20 am »

el txtbox es singleline
lo que hago es entro el valor
1.25
vacio el campo con txtbox.text=string.empty
y luego entro otro valor

.89

y con el otro boton obtener la suma

ah, estás usando el mismo textbox, por lo que entiendo basicamente como si fuese una calculadora, entras un valor, le das a un botón para limpiar el valor, entras otro valor, y le das a otro botón para obtener el resultado.

No me parece muy practico utilizar el mismo textbox para 2 funciones distintas (introducir los valores a sumar y mostrar el resultado), yo usaría un Textbox adicional para mostrar el resultado, pero si así es como prefieres con 1 solo textbox entonces podrías hacerlo de esta manera:

C# (traducción al vuelo):
Código
  1. using Microsoft.VisualBasic;
  2. using System;
  3. using System.Collections;
  4. using System.Collections.Generic;
  5. using System.Data;
  6. using System.Diagnostics;
  7. public class testForm
  8. {
  9.  
  10. // aqui guardarás los valores introducidos
  11. private List<double> values = new List<double>();
  12.  
  13.  
  14. private void bt_AñadirValor_Click()
  15. {
  16. double value = 0.0;
  17.  
  18. if (double.TryParse(tb_Valores.Text.Replace('.', ','), value)) {
  19. values.Add(value);
  20. // añado el valor a la colección de valores.
  21. tb_Valores.Clear();
  22. // limpio el textbox.
  23. } else {
  24. MessageBox.Show("El valor no es válido", "", MessageBoxButtons.OK, MessageBoxIcon.Error);
  25. }
  26.  
  27. }
  28.  
  29.  
  30. private void bt_Sumar_Click()
  31. {
  32. tb_Valores.Text = (from value in values).Sum;
  33. values.Clear();
  34. // limpio los valores guardados.
  35.  
  36. }
  37.  
  38.  
  39. private void tb_Valores_KeyPress(object sender, KeyPressEventArgs e)
  40. {
  41. if (e.KeyChar == Convert.ToChar(Keys.Enter)) {
  42. bt_AñadirValor.PerformClick();
  43. }
  44.  
  45. }
  46.  
  47. }
  48.  
  49. //=======================================================
  50. //Service provided by Telerik (www.telerik.com)
  51. //Conversion powered by NRefactory.
  52. //Twitter: @telerik
  53. //Facebook: facebook.com/telerik
  54. //=======================================================
  55.  

VB:
Código
  1. Public Class testForm
  2.  
  3.    Private values As New List(Of Double) ' aqui guardarás los valores introducidos
  4.  
  5.    Private Sub bt_AñadirValor_Click() Handles bt_AñadirValor.Click
  6.  
  7.        Dim value As Double = 0.0R
  8.  
  9.        If Double.TryParse(tb_Valores.Text.Replace("."c, ","c), value) Then
  10.            values.Add(value) ' añado el valor a la colección de valores.
  11.            tb_Valores.Clear() ' limpio el textbox.
  12.        Else
  13.            MessageBox.Show("El valor no es válido", "", MessageBoxButtons.OK, MessageBoxIcon.Error)
  14.        End If
  15.  
  16.    End Sub
  17.  
  18.    Private Sub bt_Sumar_Click() Handles bt_Sumar.Click
  19.  
  20.        tb_Valores.Text = (From value As Double In values).Sum
  21.        values.Clear() ' limpio los valores guardados.
  22.  
  23.    End Sub
  24.  
  25.    Private Sub tb_Valores_KeyPress(sender As Object, e As KeyPressEventArgs) Handles tb_Valores.KeyPress
  26.  
  27.        If e.KeyChar = Convert.ToChar(Keys.Enter) Then
  28.            bt_AñadirValor.PerformClick()
  29.        End If
  30.  
  31.    End Sub
  32.  
  33. End Class
  34.  

Saludos!
« Última modificación: 2 Septiembre 2014, 04:26 am por Eleкtro » En línea

elezekiel

Desconectado Desconectado

Mensajes: 246


Ver Perfil
Re: Como puedo sumar valores usando 1 solo txtbox en C#
« Respuesta #6 en: 2 Septiembre 2014, 04:24 am »

perdon por esto, solo lei y me intereso a modo de aprendizaje:


Código:
private List<double> values = new List<double>();

ese "double" es un array con tipo de dato double solamente? o es una variable que se le asigna el tipo de dato?

Conozco poco de C# disculpas por entrometerme!

gracias.
En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.810



Ver Perfil
Re: Como puedo sumar valores usando 1 solo txtbox en C#
« Respuesta #7 en: 2 Septiembre 2014, 04:32 am »

ese "double" es un array con tipo de dato double solamente? o es una variable que se le asigna el tipo de dato?

Es una Lista, llamarlo Array sería poco preciso, pero si, y solo podrás añadir valores del tipo Double a la Lista.

> List<T> Class
> Type Parameters (<T>)


Saludos!
« Última modificación: 2 Septiembre 2014, 04:43 am por Eleкtro » En línea

elezekiel

Desconectado Desconectado

Mensajes: 246


Ver Perfil
Re: Como puedo sumar valores usando 1 solo txtbox en C#
« Respuesta #8 en: 2 Septiembre 2014, 05:01 am »

muchas gracias perdon por la interrupcion, ojala hayan resuelto la duda del creador del post, yo resolvi la mia :)

muy agradecido.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Sumar valores de un campo de una db
PHP
Nessito 4 5,188 Último mensaje 11 Diciembre 2008, 21:59 pm
por Nessito
sumar valores de un flex
Programación Visual Basic
deanelker 0 2,926 Último mensaje 4 Septiembre 2010, 00:47 am
por deanelker
Sumar valores repetidos en dos tablas
Bases de Datos
mapers 1 2,978 Último mensaje 9 Marzo 2014, 21:33 pm
por ~ Yoya ~
[Resuelto] [javascript] Sumar valores input
Desarrollo Web
DeMoNcRaZy 2 6,032 Último mensaje 24 Enero 2016, 16:07 pm
por -Mc_Raaka-
No puedo sumar las parcelas, sólo el total de naranjas y mandarinas [C]
Programación C/C++
S4ms3pi0l__ 5 2,972 Último mensaje 20 Octubre 2017, 22:49 pm
por Gallu
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines