InicioInfoTips de Programación en C#

Tips de Programación en C#

Info4/18/2012
Que tal amigos taringueros, tengo ya algún tiempo que no posteo nada y como complemento a mis anteriores Post sobre programación en C# los cuales son:




En esta ocasión el post es mas Relajado y menos completo pero igual de útil para quienes recién comienzan.

Sumar Cantidades de un DataGridView
Cuando no nos ha pasado que tenemos una aplicación que necesita hacer sumas, o restas o cualquier otra operación matemática, quizás en algún momento tendrás que toparte con esta necesidad, mas si estas en algún proyecto tipo "Punto de Venta" donde este tipo de operaciones son esenciales, bueno te tengo una pequeña y simple solución donde solo necesitaremos un DataGridView que este previamente llenado con datos, o que se se encuentre abierto a la agregación, edición, etc.
Cuando llenemos el DataGridView debemos de especificar en algún momento alguna columna de Cantidad, Piezas, Unidades o como desees llamarlo donde tendrás valores numéricos los cuales son los que queremos sumar pues para hacer este proceso basta con hacer este pequeña operación, donde obtendremos el valor de cada celda de una columna que especificaremos con el Nombre "Cantidad" lo recorreremos y asignaremos el valor a un control Label, el código a continuación:

//Variable donde almacenaremos el resultado de la sumatoria.
double sumatoria = 0;
//Método con el que recorreremos todas las filas de nuestro Datagridview
foreach (DataGridViewRow row in gvGastos.Rows)
{
//Aquí seleccionaremos la columna que contiene los datos numericos.
sumatoria += Convert.ToDouble(row.Cells["Cantidad"].Value);
}
//Por ultimo asignamos el resultado a el texto de nuestro Label
lblTotal.Text = Convert.ToString(sumatoria);

Verificar si una aplicación ya se encuentra Abierta
Uno de los primeros inconvenientes cuando empezamos a desarrollar aplicaciones mas completas es que necesitamos que los usuarios no puedan abrir mas de una vez una aplicación que ya se encuentra abierta, para realizar este proceso existen varias formas de hacerlo, ya sea importando una de las APIS de Windows que lo verifica o crear un método para poder verificar si se esta ejecutando un proceso previo que cumple con las características de nuestro programa, esta es la forma que utilizaremos ya que el importar un API de Windows evitara que nuestra aplicación pueda funcionar en Linux o cualquier otros S.O, esto lo podemos hacer de la siguiente forma.

Primero que nada tendremos que tener creada la clase Program.cs que ya a esta altura debemos de saber que es la clase principal donde ira ubicado el método Main de nuestra aplicación, accesamos al código y creamos un método que contenga la siguiente estructura:


private static bool IsExecutingApplication()
{
// Proceso actual
Process currentProcess = Process.GetCurrentProcess();

// Matriz de procesos
Process[] processes = Process.GetProcesses();

// Recorremos los procesos en ejecución
foreach (Process p in processes)
{
if (p.Id != currentProcess.Id)
{
if (p.ProcessName == currentProcess.ProcessName)
{
return true;
}
}
}
return false;
}

Este método almacenara en un arreglo información sobre los procesos que se están ejecutando, y mas en especifico sobre nuestro proceso, para después recorrer el arreglo y verificar si nuestro proceso se encuentra en ejecución si es así nos regresara Verdadero , en caso contrario falso, lo único que nos falta es agregar el uso del método, en el método Main.


static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
// Ejecutamos la aplicación siempre y cuando no se esté ejecutando ya.
//
if (IsExecutingApplication() == false)
{
Application.Run(new Form1());
}
else
{

}
}

Espero te haya servido esta pequeña información, saludos.
Datos archivados del Taringa! original
5puntos
1,504visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
4visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

C
Cdflik🇦🇷
Usuario
Puntos0
Posts33
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.