none
SE TRABA MI APLICACIÓN SI DEJO QUE SE REPITA MI "TIMER" CADA SEGUNDO - WPF (C#) RRS feed

  • Pregunta

  • Buenas noches y un cordial saludo, el motivo de mi pregunta como dice el titulo es porque se traba mi aplicación se dejo que mi timer se repita cada segundo, pero si solo dejo que se repita una vez, la aplicación fulle perfectamente, me quiero imaginar que es por mi código que tengo dentro del timer, pero que puedo hacer para tener el timer activo siempre como asta ahora pero que no se trabe mi programa, o alguna otra idea seria bien recibida, gracias.

     public PROGRAMABASE()
     {
         
        InitializeComponent();
            
        dispatcherTimer.Tick += new 
        EventHandler(dispatcherTimer_Tick);
        dispatcherTimer.Interval = new TimeSpan(1);
        dispatcherTimer.Start();
    
      }
    
      private void dispatcherTimer_Tick(object sender, 
      EventArgs e)
      {
    
      dispatcherTimer.Stop();
    
      ///OBTENER LA INFORMACIÓN DETALLADA DEL DISCO DURO///
              
      DriveInfo Disco_Duro = new DriveInfo("C");
    
      //Información del espacio disponible
      string EspacioDisplonible = 
      Disco_Duro.TotalFreeSpace.ToString();
      ulong bytes = UInt64.Parse(EspacioDisplonible);
      string mbEspacioDisponible = ConvertToMegabytes(bytes);
      string gbEspacioDisponible = ConvertToGigabytes(bytes);
    
      //Descripción en un PrgressBar sobre el espacio usado
      double EspacioTotalDouble = 
      Convert.ToDouble(Disco_Duro.TotalSize.ToString());
      double EspacioDisponibleDouble = 
      Convert.ToDouble(Disco_Duro.TotalFreeSpace.ToString());
    
      Progreso_del_almacenamiento.Maximum = EspacioTotalDouble;
      Progreso_del_almacenamiento.Value = EspacioTotalDouble - 
      EspacioDisponibleDouble;
    
      //Información del espacio usado
      string EspacioUsadoProgreso = 
      Progreso_del_almacenamiento.Value.ToString();
      string EspacioUsado = EspacioUsadoProgreso;
      ulong bytesEspacioUsado = UInt64.Parse(EspacioUsado);
      string mbEspacioUsado = 
      ConvertToMegabytes(bytesEspacioUsado);
      string gbEspacioUsado = 
      ConvertToGigabytes(bytesEspacioUsado);
    
      //Información del espacio total
      string EspacioTotal = Disco_Duro.TotalSize.ToString();
      ulong bytesEspacioTotal = UInt64.Parse(EspacioTotal);
      string mbEspacioTotal = 
      ConvertToMegabytes(bytesEspacioTotal);
      string gbEspacioTotal = 
      ConvertToGigabytes(bytesEspacioTotal);
    
      //Reprencetar toda la información obtenido en textos que 
      visualize el usuario
      almacenamiento_usado.Text = gbEspacioUsado + " GB" + " 
      Usados";
      Disco_Duro_Texto.Text = "Disco Duro";
      Almacenamiento_descripcion.Text = gbEspacioDisponible + " 
      GB" + " libres" + " de " + gbEspacioTotal + " GB";
    
      ///OBTENER LA INFORMACION DETALLADA DE LA MEMORIA RAM///
    
      //Información de la memoria ram total
      var pcInfo = new 
      Microsoft.VisualBasic.Devices.ComputerInfo();
      string MemoriaRamTotal = 
      Convert.ToString(pcInfo.TotalPhysicalMemory);
      string MemoriaTotal = MemoriaRamTotal;
      ulong bytesMemoriaTotal = UInt64.Parse(MemoriaTotal);
      string mbMemoriaTotal = 
      ConvertToMegabytes(bytesMemoriaTotal);
      string gbMemoriaTotal = 
      ConvertToGigabytes(bytesMemoriaTotal);
    
      //Descripción en un PrgressBar de la memoria usada
      double MemoriaTotalDouble = 
      Convert.ToDouble(pcInfo.TotalPhysicalMemory);
      double MemoriaDisponibleDouble = 
      Convert.ToDouble(pcInfo.AvailablePhysicalMemory);
    
       Progreso_de_ram.Maximum = MemoriaTotalDouble;
       Progreso_de_ram.Value = MemoriaTotalDouble - 
       MemoriaDisponibleDouble;
    
       //Información de la memoria ram disponible
       string MemoriaRamDisponible = 
       Convert.ToString(pcInfo.AvailablePhysicalMemory);
       string MemoriaDisponible = MemoriaRamDisponible;
       ulong bytesMemoriaDisponible = 
       UInt64.Parse(MemoriaDisponible);
       string mbMemoriaDisponible = 
       ConvertToMegabytes(bytesMemoriaDisponible);
       string gbMemoriaDisponible = 
       ConvertToGigabytes(bytesMemoriaDisponible);
    
       //Información del ram usado
       string RamUsadoProgreso = 
       Progreso_de_ram.Value.ToString();
       string RamUsado = RamUsadoProgreso;
       ulong bytesRamUsado = UInt64.Parse(RamUsado);
       string mbRamUsado = ConvertToMegabytes(bytesRamUsado);
       string gbRamUsado = ConvertToGigabytes(bytesRamUsado);
    
       ram_usada.Text = gbRamUsado + " GB" + " Usados";
       Nombre_del_usuario.Text = Environment.UserName;
       string path = 
       "HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\0";
       RegistryKey key = 
       Registry.LocalMachine.OpenSubKey(path);
       string processor = 
       key.GetValue("ProcessorNameString").ToString();
       Nombre_del_procesador.Text = processor;
       Computer computador = new Computer();
       Disco_Duro_Texto.Text = computador.Info.OSFullName;
    
       if (GB == true)
       {
       Ram_Descripción.Text = gbMemoriaDisponible + " GB" + " 
       libres" + " de " + gbMemoriaTotal + " GB ";
       }
       else
       {
       Ram_Descripción.Text = mbMemoriaDisponible + " MB" + " 
       libres" + " de " + mbMemoriaTotal + " MB ";
       }
    
       dispatcherTimer.Start();
    
       }

      
    • Editado Jovanny CJ viernes, 7 de septiembre de 2018 4:56
    viernes, 7 de septiembre de 2018 4:55

Respuestas

Todas las respuestas